6.java三大特征之一:继承,super与this

①封装

将属性和方法书写到类里面的操作就是封装

封装可以为属性和方法添加私有权限

②继承

子类默认继承父类的所有属性和方法

子类可以重写父类属性和方法

③多态

传入不同的对象,产生不同的结果

继承

两个类的属性和方法有很多重叠,继承可以解决代码的复用问题

继承案例

package extend;
//学生
public class Student {
    public String name;
    public int age;

    private double score;//成绩
    public void setScore(double score) {
        this.score = score;
    }
    public void showInfo() {
        System.out.println("名字"+name+"年龄"+age+"成绩"+score);
    }
}
package extend;
//小学生
public class Pupil extends Student{
    public void testing(){
        System.out.println("小学生"+name);
    }
}
package extend;
//大学生
public class  Graduate extends Student{
    public void testing(){
        System.out.println("小学生"+name);
    }
}
package extend;

public class Test {
    public static void main(String[] args) {
        Pupil pupil = new Pupil();
        Graduate graduate = new Graduate();
        pupil.name = "qqq";
        pupil.age = 11;
        pupil.setScore(11.1);
        pupil.showInfo();
    }
}

细节

例如:上面代码setScore

package extend;

public class Test {
    public static void main(String[] args) {
        Pupil pupil = new Pupil();
        Pupil pupil1 = new Pupil("jack");
    }
}

package extend;
//学生
public class Student {
    public Student(){
        System.out.println("父类无参。。。");
    }
    public Student(String name){
        System.out.println("父类有参。。。");
    }
}
ackage extend;
//小学生
public class Pupil extends Student{
    public Pupil(){
        super("name");
//        super();//默认调用
        System.out.println("子类无参。。。");
    }

    public Pupil(String jack) {
        super("name");
        System.out.println("子类有参。。。");
    }
}

ctrl+h查看可以查看类的继承关系

先加载类,在方法区显示继承关系

package extend;

public class Test {
    public static void main(String[] args) {
        Son son = new Son();
        System.out.println(son.name);
    }

}
class GrandPa{
    String name = "LJW";
    String address = "徐州";
}
class Father extends GrandPa{
    String name = "QYJ";
    int age = 33;
}
class Son extends Father{
    String name = "SJB";

}

super

super与this

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值