类
类只支持单继承,不允许多重继承
class C extends A , B{ } // C类 不可以同时继承A类和B类
在继承中 , 子类不能直接访问父类中的私有成员,子内可以调用父类的非私有方法,但是不能调用父类的私有成员
方法重写
子类会自动继承父类中定义的方法,但有时在子类中需要对继承的方法进行一些修改。即对父类的方法进行重写,
【案例4-4】 学生和老师
在班级中上课时, 老师在讲台上讲课, 偶有提问,会点名让学生回答问题。虽然老师和学生都在讲话,但讲话的具体内容却不相同。本案例要求使用抽象类的知识编写一个程序实现老师上课的情景。
public abstract class person {
private String name;
private int age;
public person() {
}
public person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public abstract void say() ;
}
public class student extends person{
public student() {
}
public student(String name, int age) {
super(name, age);
}
@Override
public void say() {
System.out.println("学生的姓名"+getName()+"年龄"+getAge()+"学生负责回答问题");
}
}
package zuoye1;
public class teacher extends person{
public teacher() {
}
public teacher(String name, int age) {
super(name, age);
}
@Override
public void say() {
System.out.println("老师的姓名"+getName()+"年龄"+getAge()+"老师是负责提问问题的");
}
}
public class text {
public static void main(String[] args) {
student stu= new student("张三",23);
stu.say();
teacher t=new teacher("李四",24);
t.say();
}
}