> 文章列表 > Java基础总结2

Java基础总结2

Java基础总结2

面向对象

面向过程:
所有事都自己做
如:做饭,自己先买菜,自己做配料,自己炒菜,自己刷锅,端上桌子,开吃
面向对象:
把事情交给对象去做
如:自己交给对象去做,自己找一个厨子做,也可以点一个外卖,自己就直接等着吃,不用自己亲自做

类与对象


模板,一类事物。静态的是属性,动态的是方法
比如:学生、姓名、年龄是属性(名词)
学习、吃饭、睡觉是方法(动词)
对象
类的具体实现
比如:name=张三

//学生类 Student
public class Student{String name;int age;public void study(){System.out.println("学生学习");}public void sleep(){System.out.println("学生睡觉");}
}

创建对象

格式
类名 对象名 = new 类名();
调用属性
对象.属性名 = 值;
调用方法
对象.方法名(参数);
输出对象
打印的是地址值
具体举例

public class Student{String name;int age;public void study(){System.out.println("学生学习");}public void sleep(){System.out.println("学生睡觉");}
}
//主函数,方法入口
public class Demo {public static void main(String[] args){//创建对象,调用属性和方法//类名 对象名 = new 类名()Student s1= new Student();s1.name="张三";s1.age= 20;//调用属性System.out.println(s1.name);//打印张三System.out.println(s1.age);//打印20//println与print区别:println打印后自动换行;print不换行//调用方法s1.study();//打印学生学习s1.sleep()//打印学生睡觉System.out.println(s1);//打印对象,是一个地址值:Student@6d06d9c}}

Java 构造方法

作用
1.创建对象
2.给成员变量赋值
3.如果不写任何构造方法,Java会提供一个空参构造,如果写了任意构造,就不再提供空参构造
4.方法名与类名相同,没有返回值
格式

public 类名(){//无参构造
}
public 类名(String name,int age){//有参构造this.name=name;this.age=age;
}

构造方法具体实例

public class Student{String name;int age;public Student(){//无参构造}public Student(String n,int a){//有参构造name=n;//n赋值给nemeage=a;}
}public class Demo2 {public static void main(String[] args){//构造方法//空参构造Student s1= new Student();//有参构造Student s2= new Student("李四"16);System.out.println(s1.name +"==="+s1.age);//打印null===0,是一个默认值System.out.println(s2.name +"==="+s2.age);//打印李四===16}
}

关键字this

public class Student{String name;int age;public Student(){//}//public Student(String n,int a){////name=n;////age=a;}//就近原则,找neme,先在自己方法里找,找不到再到类里找,最近是找到括号里参数neme,可以用this关键字解决就近原则,带来的对象混乱public Student(String name,int age){//this关键字,代表的是自己本类对象;那么他调用的就是成员属性//this代表对象。this点,代表成员属性this.name=name;//这里name不知道是哪个neme有点乱,用this关键字就清楚了this.age=age;}
}public class Demo3 {public static void main(String[] args){//this关键字//Student s1= new Student();Student s= new Student("李四"16);System.out.println(s1.name +"==="+s1.age);//如果上面Student类里没用this关键字,有参数也打印null===0,System.out.println(s1.name +"==="+s1.age);//如果Student类里用this关键字,有参数打印打印李四===16,}
}

Java基础 static 关键字

作用:
无需new创建对应,就可以直接用类名点方法名或属性名(变量名)进行调用
static 关键字可以直接使用在方法名前或变量名前
特点:
静态只能直接访问静态:静态方法就是带static关键字的方法

//类 class teacher
public class teacher{//static 关键字可以直接使用在方法名前或变量名前String name;static int age;//这里属性名(变量名)带staticpublic void eat(){//这里方法不带staticSystem.out.println("老师吃饭");}public static void sleep(){//这里方法带staticSystem.out.println("老师睡觉");}
}
//再写一个类Demo 调用类Teacher
//类Demo
public class Demo {public static void main(String[] args){Teacher.age= 30;//Teacher.name= "王五";//这里就不可以直接调用Teacher.name,因为Teacer类里name变量名前 没放 staticTeacher.sleep();//这里打印:老师睡觉System.out.println(Teacher.age);//这里打印30System.out.println(Teacher.name);//这里直接调用name会报错//如果这里非要调用Teacher.name怎么办?那就要new一个对象Teacher tescher= new Teacher();tescher.nane="李晓东"tescher.eat()//调用eat方法,打印老师吃饭System.out.println(Teacher.name);//打印李晓东}}