成员变量:
定义在类中的变量称为成员变量;
成员变量存储在对内存的对象中;
成员变量随着对象的出现而出现在堆中,随着对象的消失而消失:
成员变量在堆内存中,所有默认的初始化值;
局部变量:
定义在对象中的变量或定义在方法中的变量称为,局部变量;
局部变量存储在栈内存的方法中;
局部变量随着方法的出现而出现在栈中,随着方法的弹出而消失;
局部变量没有默认的初始值,必须手动给其赋值;
private:
修饰的变量是私有变量,只能在类中使用和访问;
如果外部的对象想访问类中被private私有化的变量,可以通过get或set来完成。
在类中使用 alt+insert,Getter and Setter,选择你需要公布出来的变量,即可自动的生成方法。
完成之后,即可在对象中通过set或get来设置和获得私有对象的值。
this的用法:
public class Person {
private String name;
private int age;
public void sleep(int age){
this.age=age; //当在方法中存在变量重名情况的时候,使用this可以限定为成员变量
System.out.println("========"+age);
}
}
继承:
继承是子类继承父类的特征和行为,使得子类对象(实例)具有父类对象具有父类的实例和方法。或子类从父类继承方法,使得子类与父类具有相同的行为。
继承的特性:
子类拥有父类非private的属性;
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展;
JAVA是单继承,也就是一个子类只能继承一个父类;多继承是指一个子类可以同时继承多个父类;
在子类中定义的和父类的方法重名的方法会会优先使用;
super的用法:
在子类中的变量如何父类中的变量同名,如果要引用父类中的变量,可以用super.变量名称来完成引用。
抽象类:
1、抽象类和抽象方法都需要被abstrac修饰;
2、抽象类不可以直接创建对象,原因是抽象方法没有意义
3、只有覆盖了抽象类中的所有抽象方法之后,其子类才可以创建对象
4、抽象类就是从子类中把相同的方法抽象在父类中
public abstract class Developer {
public abstract void work();
}