程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

继承 2021-06-10

发布于2021-06-12 14:14     阅读(849)     评论(0)     点赞(24)     收藏(0)


继承的特点

  • 继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模
  • extends的意思是扩展。子类是父类的扩展
  • Java中类只有单继承,没有多继承
  • 继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等
  • 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示
  • objeclei
  • super
  • 方法重写

实例演练:

  1. 创建一个Person类作为子类并在类中定义一个run方法,代码如下:
//父类
public class Person {
    public void run(){
        System.out.println("person");
    }
}
  1. 创建子类Student并定义一个study方法,创建子类Teacher并定义一个teach方法,代码分别如下:
//子类——学生类
public class Student extends Person{ 
    public void study(){
        System.out.println("study");
    }
}
//子类——教师类
public class Teacher extends Person{
    public void teach(){
        System.out.println("teach");
    }
}
  1. 接着创建一个main类,并分别创建三种对象,代码如下:
public class main {
    public static void main(String[] args) {
        Person person=new Person();     
        Student student=new Student();      
        Teacher teacher=new Teacher();        
     }
}
  • person对象能调用的方法如下,可以看出只有run方法

在这里插入图片描述

  • student对象能调用的方法如下,可以看出有run方法和study方法

在这里插入图片描述

  • teacher对象能调用的方法如下,可以看出能调用run方法和teach方法

在这里插入图片描述

综上,我们可以得到以下结论:

  • 父类不能调用子类的方法,只能调用自身的方法
  • 子类能调用父类和自身的方法
  • 子类不能调用其他子类的方法

tips:按Ctrl+H可查看关系树


四种修饰符

按优先级排序:

  • public
  • protected
  • dafault
  • private

我们在Person类中用四种修饰符定义四个方法:

//父类
public class Person {
    public void run(){
        System.out.println("person");
    }
    private void walk(){
        System.out.println("walk");
    }
    protected void eat(){
        System.out.println("eat");
    }
    void swim(){
        System.out.println("swim");
    }
}

可以看出看子类student除了walk方法其他的方法都可以调用

在这里插入图片描述

结论:在父类中用private修饰符定义的方法子类不能调用(父类中的属性同样适用)

另外,在父类中一般都是private属性,代码如下:

//父类
public class Person {
    private int money=100;
    
    public void setMoney(int money){
        this.money=money;
    }
    
    public int getMoney(){
        return money;
    }
}

父类Person中的私有属性money在子类中不能直接调用和查看,通常我们用另外两个方法set和return使得在子类中能对父类中的私有属性进行操作

public class main {
    public static void main(String[] args) {
        Person person=new Person();
        person.run();
        Student student=new Student();
        student.run();
        Teacher teacher=new Teacher();
        teacher.run();

        int money=student.getMoney();
        System.out.println(money);
        student.setMoney(200);
        money=student.getMoney();
        System.out.println(money);
     }
}

运行结果如下:

在这里插入图片描述

可以看到虽然money是父类中的私有属性,但是我们也能通过调用方法来输出money的值和对其进行修改


Object类

在之前的子类中我们可以看到除了父类和自身的方法以外还有很多没见过的方法,这些方法就是Object类中的方法

在Java中,所有的类都默认直接或者间接继承Object类,可以说Object类是所有类的祖宗类

原文链接:https://blog.csdn.net/m0_58106367/article/details/117774084



所属网站分类: 技术文章 > 博客

作者:怎么没有鱼儿上钩呢

链接:http://www.javaheidong.com/blog/article/222188/9d64b4caa608f15753ae/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)