二、super
- 在子类中调用父类构造函数
- super语句放在第一行
三、this
- 调用构造函数
- 引用成员变量
- 返回对象的值
代码实例:
public class Person {
private final String Fname;
private final String Lname;
private int i=0;
//无参构造
public Person(){
this("李","三");
//调用有参构造函数
System.out.println("调用了无参构造函数");
}
public Person(String Fname,String Lname){
// 引用成员变量
this.Fname=Fname;
this.Lname=Lname;
}
Person back(){
i++;
//返回对象的值
return this;
}
//重写toString
public String toString(){
return "这个人的姓为:"+this.Fname+","+"名为:"+this.Lname;
}
public void printf(){
System.out.print(i);
}
public static void main(String[] args) {
Person a=new Person();
System.out.println(a);
a.back().back().back().printf();
}
}
四、toString
当一个表达式中期望出现一个对象的字符串表达,就会自动执行该方法(针对实例对象,除null,该对象是一个隐式参数(方法调用所附属于的对象))
五、UML类图
private,public 和protected,在类图中分别用符号-、+和#表示
- 分类:
- 接口:2个框——接口名;变量方法
- 类:3个框——类名;字段;方法和构造方法
2. 各种关系及UML类图中的表示方法
- 依赖关系:类与类之间最弱的关系,依赖可以简单的理解一个类使用了另一个类,这种使用关系具有临时性特征,但是一个类又会由于另一个类的改变而受到影响。UML中用带箭头的虚线表示依赖
- 实现(Realization)关系:实现关系在java中就是一个类和接口之间的关系。在UML中实现接口用虚线和带空心的三角形表示
- 泛化(Generalization)关系:泛化关系也就是Java中的继承,类和类,接口和接口都可以是继承关系。在UML中,泛化关系可以用带空心三角形的直线来表示
- 关联(Association)关系:关联关系表示一个类和另一类有联系。关联关系是一种包含关系,在UML中用一个带箭头的实线表示,箭头指向被包含类
- 聚合(Aggregation)关系:聚合关系是表示整体与部分的关系,但是部分可以脱离整体而存在。在UML类中聚合关系用带空心菱形的直线表示
- 组合(Composition)关系:组合关系也是一种部分和整体的关系,但是部分存活周期受到整体的影响,若整体不存在则部分也将不存在。此时部分需在整体的构造方法中创建。在UML类中,组合关系用带实心菱形的直线表示
示例:
六、多态
- )通用多态
- 包含多态:子类与父类的关系,如子类调用父类的方法
- 参数多态:类型参数T在运行的时候才能确定
2.)专用多态:
- 重载多态:如运算符
- 强制多态:显示,隐式