//Java面向对象学习的三条主线: //1.Java类及类的成员:属性、方法、构造器;代码块、内部类 //2.面向对象的三大特征:封装性、继承性、多态性 //3.其它关键字:this、super、static、final、abstract、interface、package、import等 //一、设计类其实就是设计类的成员 //属性:对应类中的成员变量。属性=成员变量=field //方法:对应类中的成员方法。方法=成员方法=函数=method //创建类的对象=类的实例化=实例化类 //二、类和对象的使用(面向对象思想落地的实现) //1.创建类、设计类的成员 //2.创建类的对象 //3.通过 对象.属性 or 对象.方法 调用对象的结构。 //三、如果创建了一个类的多个对象,则每个对象都独立的拥有一套类的属性。(非static) //意味着,如果我们修改一个对象的属性a,则不影响另外一个对象属性a的值。 //四、对象的内存解析 public class Lesson174 { public static void main(String[] args) { //2.创建类的对象 Person p1=new Person(); //调用对象的结构,属性,方法 //3.调用属性:对象.属性 p1.name="Tom"; p1.isMale=true; System.out.println(p1.name); //3.调用方法:对象.方法 p1.eat(); p1.sleep(); p1.talk("chinese"); //---------------------- Person p2 =new Person(); System.out.println(p2.name);//null System.out.println(p2.isMale);//false //---------------------- //相当于数组的赋值,本质上将p1变量保存的对象地址赋值给p3,导致p1和p3指向了堆空间中的同一个对象实体。 Person p3=p1; System.out.println(p3.name);//Tom p3.age=10; System.out.println(p1.age);//这里输出p1变成了10 } } class Person{//1.创建类、设计类的成员 //属性 String name; int age=1; boolean isMale; //方法 public void eat(){ System.out.println("人可以吃饭"); } public void sleep(){ System.out.println("人可以睡觉"); } public void talk(String language){ System.out.println("人可以说话,使用的是"+language); } }