我是靠谱客的博主 俏皮魔镜,最近开发中收集的这篇文章主要介绍java基础 继承修饰符,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

继承

 

继承就是 让 其他的类 都含有 某个类里面的属性 或者方法 并且还可以再自己的类中追加

public  zi extends fu class{

}

父类 ===>被称为 基类   跟 超类

子类 ===>被称为  派生类

字类可以继承 父类的方法  

也可以 使用自己的方法

继承的好处

把代码 都封装到 父类 (基类,超类里面)==>提高了代码的复用性  

提高了 代码的 维护性 ===>若果多处需要修改 只需要修改一处就好了

继承的弊端

继承 让父类 与子类 产生了联系 类的耦合性增加了  当父类发生改变的时候 字类也要跟着改变 降低了 子类的 独立性

什么时候用继承

        继承 就是  is   a  的意思  

当类与 类之间 可以存在 A 属于 B  或者 B属于 A 的状态 后 可以使用继承  

比如 苹果 ===>水果     猫====>动物     但是  狗 跟 猫就不可以了  

继承中的属性 使用

两个字  ====>就近原则  

若果没有属性 就会报错

this   super 

 

 this  是用来 修饰 成员变量的 ==>

super 是用来修饰 父类的成员变量的

继承中 构造函数的特点

子类 继承 父类 后 ===>

如果 创建对象 

Son son = new  Son();

默认去调用 父类的无参构造方法  因为创建 子类对象 需要默认初始化父类的数据

不论 字类 是 通过 无参构造方法 创建的对象 还是 通过有参数构造方法创建的对象

都会去默认去掉 父类的 无参构造方法 

如果 没有 无参构造方法 ==>被注释掉了  就会i报错 我们可以通过 

super去调用父类的有参构造方法 去初始化 父类的数据  手动完成  

或者 自己手动创建  无参构造方法

继承中的方法调用

继承中 方法的调用   子可以 调用 父亲的  

当子与 父 都有的时候 ===>会出现就近原则 先调用 自己的 

我们可以 通过 super调用 父亲的方法 

super内存图

 super的运行内存图  方法 都是 加载到栈内存 

new 后面的 都是加载 到 堆内存 

方法一个一个的  执行执行完毕后 出栈 

方法的重写  父亲--->子类

当 子类 继承 ===>父类的方法  比如 手机 与新手机   

本来手机 就有  打电话功能  叫 call()  方法  

我们的子类 方法 继承 父类 并且 也使用 call()方法的名字 再此方法上 更新 就是方法的重写

@overread 是方法的重写检查

方法的重写 注意事项 

私有的方法是 不能被重写的 

子类的重写的方法   只要 修饰符权限比 父类的高 就可以 

private   preated  public   私有的  受保护的   公共的 

java中的继承 事项

java 中只支持 单继承  不支持 多继承  

java 中可以有多层继承

案例 老师跟学生类

写 公共的继承类  ====>然后 属性一样  都是继承的父亲类 

方法有自己公用的

猫跟狗

公共类

package 继承;

public class Animal {
    private String name;
    private int age;

    public void run (){
        System.out.println("我们都是动物都会跑");
    }

    public Animal() {
    }

    public Animal(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;
    }
}

猫类

package 继承;

public class Cat extends Animal{

    public void zhuaMose(){
        System.out.println("我会抓老鼠");
    }
}

package 继承;

public class Dog extends Animal{

    public void kanmen(){
        System.out.println("我会看家");
    }
}

包的使用

import 导入包 

如果 ==>导入的东西   差异的包 

我们可以用 import 导包  就可以 不用繁琐的写法了

不同修饰符 权限

 不同包的子类  ===>受保护的  公共的  ===

不同包的无关类===>公共的  

final 修饰符

final 修饰的基本变量 ===>值不可以改变  变成了 常量

final 修饰的 引用变量 ====>也是值不能改变   Student s 才是 地址值 (值)===>

s没有发生改变 s.age =是这个地址值的内容发生变化 所以可以 

但是不可以继续 new Student() 了 

Static 静态修饰符

他是用来修饰 类中的 共享 数据的  (比如这个类有好多对象 不同的对象,有一个属性都是相同的 就可以用 Static 来修饰==>就可以共享了  ,静态修饰的变量  可以用 类名来修饰 也可以用对象名字来修饰 ===>推荐使用 类名来修饰

记住  (再类中 的变量 要加修饰符  static 静态常量 啊)

 static 静态 访问特点

非静态的 方法可以访问 静态的变量 也可以访问非静态的变量 以及方法

静态的 方法 可以只可以访问静态的 别的都不可以

最后

以上就是俏皮魔镜为你收集整理的java基础 继承修饰符的全部内容,希望文章能够帮你解决java基础 继承修饰符所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部