一.
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++中的构造函数
每个父类都有无参的构造方法;
二.克隆没太看懂
三.学习多态,克隆