Java:三大特性之继承性

 无论前方有什么困难,我们都要保持一颗向上的心,不认命,不信命,就像图片上面的玫瑰一样,迎着暴雨而上,加油,奋斗的你!

引言:我们之前学过面向对象编程的一个重要特点,数据的封装性;本章讲的是面向对象编程的另一个特点——继承。

壹、继承

1、子类与父类

(1)继承的定义:继承是一种由已有的类创建新类的机制。

(2)Java规定,继承下来的新类叫做子类,被继承的类叫做父类(超类);这里注意子类只有一个父类,这与c++不同,需要大家关注一下。

(3)继承的格式

         

class 子类名 extends 父类名{

.........

}

(4)注意点:

第一个就是(2)中知识点;第二个是,如果这里省略了extends,那么这里就默认了继承Object类,Object是Java.lang中类。

2、子类的继承性

(1)继承:就是子类可以继承父类的公有或者保护属性的变量或方法,换句话话说,从父类继承下来的,那就是你的,可以直接拿过来用。并且你还可以重写。我会在下面的代码里面为你们具体说明。

2.1   子类与父类由两种情况

(1)子类与父类在同一个包中 ,就是在如下图所示的src包里面。

这种情况,也就很自然地子类继承了父类的不是private的成员变量作为自己的成员变量,也自然地继承了父类中不是private的方法作为自己的方法。继承下来的变量和方法所拥有的访问权限不变。

这里需要注意,子类继承下来的变量与方法可以方法权限,但不可以变小,例如,父类中的protected权限可以在子类中放大为public权限。

(2)代码操作(代码一定要自己敲一遍,否则是没有效果的

父类:

//初学者这里注意一下,一个Java
代码里面只能由一个public类,也就是主类
public class Xues {
//定义两个公有变量
    public String name="sz";
    public int age=21;
//定义一个无参构造方法,便于后面get()方法的操作,具体的我会在下一章讲解
    public Xues() {}
//定义带参函数
    public Xues(String name,int age)
    {
        this.name=name;
        this.age=age;
        System.out.println("F2");
    }

    public int getAge() {
        return age;
    }

    public String getName() {
        return name;
    }
    public  void say( )
    {
        System.out.println("姓名:"+name+",年龄:"+age);
    }
}

子类:

public class Xuesson extends Xues{

//定义子类所有的变量
    public int score=100;
    public Xuesson(){}
    public Xuesson(String name,int age,int score)
    {
        this(name,age);//直接访问父类构造参数
        this.score=score;
    }
//定义super()方法,便于上面this指针对于父类的访问,方便操作
    public Xuesson(String name, int age) {
        super();
    }

    public int getScore() {
        return score;
    }
//重写,这里say()方法,如果去掉的话,那么下面的b.say()就是访问父类的,这就体现了继承性
    public  void say()
    {
        System.out.println("姓名:"+name+",年龄:"+age+",分数:"+score);
    }
    public static void main(String[] args) {
    Xuesson b=new Xuesson();
    b.say();
    }
}

(2)子类与父类不在同一个包中

如果子类与弗雷不在一个包里,则子类继承了父类的protected、public的方法与成员变量,继承的成员与方法的访问权限依然不变,但子类不难继承父类的友好变量与友好方法。

以上内容若有不理解的内容,可以私信我,我看到的话一定会回复,一定要保持学习,相信你的坚持终将美好!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

silence_sz

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值