继承
子承父类.
class A extends B
除了构造方法不继承外,继承其他所有东西.private的属性不能直接访问,但可以通过其他方式访问.
继承也有缺点,父类修改了,子类就会马上受到影响.
没有写继承的,默认继承Object,它是老祖宗,它没有父类.
Object中有个toString();方法,在只写引用时,默认访问的是这个方法,返回该类的十六进制的哈希值.
方法中的变量
静态方法不能访问实例变量,要访问必须先new对象.
实例方法在同一个类中,可以访问实例变量/静态变量.不在同一个类,必须先new对象才能访问实例变量.
变量分为局部变量和成员变量.
在方法体内的叫局部变量.
在方法体外的叫成员变量.
成员变量又分为实例变量/静态变量.
静态变量在类加载时加载到方法区,局部变量在方法运行时加载到栈内存,方法运行完毕释放,实例变量在new对象时加载到堆内存.
方法的逻辑
main只是一个普通的方法,是一个静态的方法,它是程序的入口.
静态方法
static void A(){
}
实例方法:
没有static.实例方法可以访问当前类中的实例变量,静态变量,静态方法,实例方法.
构造方法(分无参和有参):
public 类名(){}
构造方法如果要在构造方法体中赋予默认值,可以用this();这个语句,()里面用上有参的方法,这个语句只能出现在构造方法体的第一行,而且只能出现一次.
有参可以用this.name = name;
构造方法和实例方法很像,不同的是,构造方法不需要返回值类型,实例方法的方法名另取.构造方法体里主要是给各个属性赋值,实例方法能做的更多.
实例方法中的getter and setter
这个没办法偷懒,有一个属性就得写两个这个.