Java Static 和 extend(继承)的总结
static 关键字 Java 是通过成员变量是否有static修饰来区分是类的还是属于对象的 static == 静态 == 修饰成员(方法或成员变量)属于类本身的 成员变量和方法可以分为: 成员变量: (1)静态成员变量(类变量): 有static修饰的成员变量称为静态成员变量也叫类变量,属于类本身,直接用类的名访问即可 与类一起加载一次 (2)实例成员变量 无static修饰的成员变量称为实例成员变量,属于类的每个对象的,必须用类的对象来访问 对象多少就加载多少次 成员方法: (1)静态方法 有static修饰的成员方法,属于类本身,直接用类名访问即可 但是也可以利用对象访问,但不推荐 (2)实例方法 无static修饰的成员方法,属于类每个对象的,必须用类的对象来访问
继承(extend):是Java中一般到特殊的关系,是一种子类到父类的关系 被继承的类:父类/超类 继承父类的类:子类 作用: “可以提高代码的复用”,相同代码可以定义在父类中 子类继承父类即可使用父类的方法 特点: 子类继承一个父类,子类就可以直接得到父类的属性(成员变量)和行为(方法),但是并不是所有父类属性和行为等子类都可以继承 例如: 子类不能继承父类的构造器:子类有自己的构造器 继承的特点: 1.单继承:一个类只能继承一个直接父类 为什么(反证法) 2.多层继承:一个类可以间接继承多个父类 3.一个类可以有多个子类 4.一个类默认直接或间接继承Object类 引用类型:除了基本数据类型其他就是引用类型
继承后特点 成员变量访问特点: 若没有特定的指明采用就近原则 成员方法访问特点: 就近原则,子类会优先使用子类的方法
方法重写 与方法重载不一样 可以用@Override防止没有成功重写相关方法 子类的重写方法的名称和形参列表要与父类的一致 子类重写方法的返回值类型声明要么与父类一致,要么比父类方法返回值类型范围更小 规范: 1.加上@Override注解 2.建议“声明不变,重新实现”
子类构造器: 默认一定先访问父类有/无参数构造器,在执行子类自己的构造器 类默认存在super(),写不写都是存在的; 子类继承父类,子类就得到父类的属性和行为,当我们调用子类构造器初始化子类对象数据时候,必须先调用父类构造器初始化继承自父类的属性和行为 (先有父类,才有子类) super调用父类构造器 特点: 子类全部构造器默认一定会调用父类的无参数构造器 this():借用本类其他的构造器 super():调用父类的构造器 this()和super()只能使用其中一个,并且要放在第一行
上一篇:
IDEA上Java项目控制台中文乱码