java-面对对象特性概要
一 对象与对象之间的联系
依赖
关联
聚合 可以独立
组合 不可独立
继承 子类父类的关系
二 打包java文件
打包java文件
jar cvfm test.jar ***.mf ***.class等class文件
解包运行
java -jar test.java
三 继承
子类(派生类)继承父类(基类),继承与被继承的关系,面对对象就是不同的对象间相互联系
关键字 extends
public class S extends F{}
私有方法和变量无法继承
四 方法的覆盖和重载
覆盖
子类重写父类的同名方法
1 方法名相同
2 参数一致
3 子类方法修饰符大于等于父类的修饰符
4 有继承联系
5 出现在不同的类中,即子类和父类
重载
方法的重载出现在一个类中
五 多态
父类 对象 = new 子类
该对象指向子类
若父类和子类存在方法的覆盖,则该对象仍然调用子类的覆盖方法
对象可以当做方法的参数
六 this和super
1 this
this.a();
用点调用
2 super
前提是子类继承父类
在子类中使用super
父类先构造
子类在构造
super()代表调用父类的构造方法
super.a()代表调用父类的方法
七 抽象类和接口
抽象类
关键字 abstract
列如,动物类
1 可以有成员变量
2 可以有构造方法
3 可以有修饰符
4 可以有抽象方法,没有方法体的方法(没有花括号),含有abstact关键字 public abstract void eat();
5 抽象类的抽象方法必须被子类去覆盖,去实例化
接口
接口也是一个特殊的抽象类
1 含有成员变量,方法比抽象类更高级
2 全部是抽象方法,abstract, 抽象类中可以有非抽象类
3 结构的成员变量必须初始化,默认加上了括号的内容
(public static final )int age = 10;
4 继承 public class Stu implement Person{} 子类必须实现接口的所有抽象函数