一.
java继承使用的关键字是 extend
class 子类 extends 父类{}
举一个类的例子:
public class person { public String name; public String sex; public int age; public String getName() { return name; } public void setName(String name) { this.name=name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex=sex; } public int getAge() { return age; } public void setAge(int age) { this.age=age; } } public class Student extends person { private String deparement; private String specialty; } public class 继承 { public static void main(String[] args) { Student s=new Student(); s.setName("qiang"); String str=s.name; System.out.println(str); } }
(1)子类共享父类中的非私有属性;
(2)子类可以用有父类中的非私有方法;
注意:java不支持多继承,一个类只能继承一个类,既子类只能继承一个父类,但是一个父类可以被多个子类继承;
super关键字调用父类的非私有属性和非私有方法,还可以调用父类的非私有构造方法;
super 可以省略
子类和父类构造方法的执行顺序
(1)子类默认调用父类的无参构造方法,之类的构造方法中会默认调用super(),并且在构造方法的第一行;
public class person{}
public Student extnds person
{public Student{super();}
}
(2)如果子类只提供有参的构造方法,必须在子类的构造方法中调用父类的构造方法;
(3)中兴父类的构造方法后,在调用本类中 的构造方法;
我对构造方法的理解就是c++中的构造函数
每个父类都有无参的构造方法;
二.克隆没太看懂
三.学习多态,克隆