继承
继承是指定义一个父类,子类可以继承继承父类中非private的方法与属性。这样做的好处是提高代码重复利用率。继承采用关键字extends实现。同时子类也可以拥有属于自己的属性和方法。格式如下:
public static void main(String[] args) {
//这是一个无参的
Student one= new Student();
one.name="fhgf";
one.age=19;
one.sex="男";
one.write();
//这是一个有参的
Student two=new Student("my student",20,"man");
}
}
//person 的父类是object
//Person 是父类
class Person{
String name;
int age;
String sex;
public void write(){
System.out.println("凤凰谷佛");
}
}
//Student是子类
class Student extends Person{
public void workday(){
System.out.println("hellow");
}
//有参构造器
public Student(String name,int age,String sex) {
this.name=name;
this.sex=sex;
this.age=age;
}
//空构造器
public Student() {
}
}
通过关键字 instanceof可以判断一个对象是不是一个类中的,或判断某一个子类是不是某一个父类中的子类。
例:
//在main方法中(该代码属于上一个代码中)
System.out.println(one instanceof Student);
//输出 true
在这里注意几个点:如果子类中包含无参构造器与一个有参构造器(如代码中one与two)对于本来自动定义的无参构造器此时需要我们手动定义!!!
这里再来介绍一下this与super的用法。
简言而之,this是用来访问子类中的属性,super是用来访问父类的属性。
出现这样的情况是因为,在子类中可能需要单独使用父类的某一个属性例如person中的name想要在student中复制此时需要用到this。例如
//this.name中的name是子类中的属性,而等于号右侧的name是父类中的
this.name=name;