JAVA面向对象继承
一、java继承的实现
扩展父类功能;使用extends关键字完成继承;格式:class 子类 extends 父类{ 程序}
class Person2{
private String name;
private int 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;
}
}
class Student2 extends Person2{
private int score;
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public void tell() {
System.out.println("姓名:"+getName()+" "+"年齡:"+getAge()+" "+"成績:"+getScore());
}
}
public class Demo4 {
public static void main(String[] args) {
Student2 stu=new Student2();
stu.setName("張三");
stu.setAge(30);
stu.setScore(99);
stu.tell();
}
}
二、继承的限制
java只允许单继承,子类不能直接访问父类的私有成员,只能通过get,set方法调用
三、子类的实例化过程:在子类实例化之前,必须先调用父类的构造方法,之后调用子类的构造方法
四、java方法重写和super关键字
1、在继承中也存在着重写的概念,其实就是子类定义了和父类同名的方法。
2、方法名称相同,返回值类型相同,参数也同
3、重写限制:被子类重写的方法不能拥有比父类方法更严格的访问权限
4、访问权限:private<default<public;
例:
class A{
public void tell() {
System.out.println("我是父类");
}
}
class B extends A {
public void tell() {
super.tell();
System.out.println("我重写了父类");
}
}
public class Demo5 {
public static void main(String[] args) {
B b=new B();
b.tell();
}
}
五、重写与重载的区别