首先定义一个teacher类(即父类)如下
第一个teacher类
运行的结果也是显然易见的:
代码如下:
package 继承;
public class teacher {
public String name;
public int age;
public String position;
public String xb = "男";
public teacher(String name,int age,String position) {
this.name=name;
this.age=age;
this.position=position;
}
public void introduction() {
System.out.println("大家好,我是"+name+",我今年"+age+"岁了,我的职位是 "+position);
}
public void xb() {
System.out.println("。。。。。。。。。。"+xb);
}
}
class teachertest{
public static void main(String[] args) {
teacher t =new teacher("小明",47,"讲师");
t.introduction();
t.xb();
}
}
再者定义一个javateacher类继承于teacher类 ,如下
javateacher类
结果如下:可以看出在teacher类当中的构造函数中的this.*的值都被重写,而xb这个属性不变,
代码如下:
package 继承;
public class javateacher extends teacher {
public javateacher(String name, int age, String position) {
super(name, age, position);
}
@Override
public void introduction() {
super.introduction();
}
}
class javateachertest{
public static void main(String[] args) {
javateacher jt =new javateacher("李华",35,"java讲师");
jt.introduction();
jt.xb();
}
}
再举一反三,可以继续添加新的类,或者新的属性,可以直接继承或不予亦调用,如下同理新建一个netteacher类
代码如下:
package 继承;
public class netteacher extends teacher {
public netteacher(String name, int age, String position) {
super(name, age, position);
}
@Override
public void introduction() {
super.introduction();
}
}
class netteachertest{
public static void main(String[] args) {
netteacher nt =new netteacher("小q",38,"net講師");
nt.introduction();
nt.xb();
}
}