欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JavaSE基础语法--傻瓜笔记--1023(第三章:面向对象3)

程序员文章站 2022-08-13 20:46:40
第三章:面向对象31.继承①继承:是面向对象程序设计中不可缺少的设计思想,是实现代码可重用的根本,是提高代码可扩充性属性的主要途径。关键字:extendsJava不支持多继承,只能有一个父类。继承是新的类吸收已有的类,并扩充新的能力。子类可以继承父类所有的非私有的属性和非私有的方法。但是如果不同包,那默认的也不行。c是b的子类(派生类),b是c的父类(基类)。传递性:c继承b,b继承a,那么c就拥有a和b的所有的非私有的属性和非私有的方法。Object:如果一个类没有继承任何一个类,那么...

第三章:面向对象3

1.继承

①继承

:是面向对象程序设计中不可缺少的设计思想,是实现代码可重用的根本,是提高代码可扩充性属性的主要途径。

关键字:extends

Java不支持多继承,只能有一个父类。

继承是新的类吸收已有的类,并扩充新的能力。

子类可以继承父类所有的非私有的属性和非私有的方法。但是如果不同包,那默认的也不行。

c是b的子类(派生类),b是c的父类(基类)

传递性:c继承b,b继承a,那么c就拥有a和b的所有的非私有的属性和非私有的方法。

Object:如果一个类没有继承任何一个类,那么JVM就会默认给该类继承一个Object类。

:如果c类创建一个对象,实际上就是创建了4个对象。

②为何要使用继承?

因为继承与真实世界类似,符合is-a关系的设计,使用继承。

③代码:

Animal类

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

    public void eat(){
        System.out.println("动物都会吃");
    }

    public Animal(){

    }

    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return this.name;
    }

    public void setAge(int age){
        this.age = age;
    }

    public int getAge() {
        return this.age;
    }
}

Dog类:

public class Dog extends Animal {
    public static void main(String[] args) {
        Dog dog1 = new Dog();
        dog1.setName("旺财");
        System.out.println(dog1.getName());
        dog1.setAge(4);
        System.out.println(dog1.getAge());
        dog1.eat();

        Dog dog2 = new Dog();
        dog2.setName("小黑");
        System.out.println(dog2.getName());
        dog2.setAge(3);
        System.out.println(dog2.getAge());
        dog2.eat();
    }

    public void fly(){
        System.out.println("有的狗会飞");
    }
}

Xiaotianquan类:

//继承的好处:代码可重用,提高代码可扩展性,新的类吸收已有的类,并扩展新的能力
//java是单继承,
//符合is-a关系的设计,使用继承
//继承传递  c继承b,b继承a,那么c会拥有b和a的全部的非私有的属性和私有的方法,不同包的时候,默认的也不行
//c是b的子类(派生类),b是c的父类(基类)
//如果一个类没有继承任何一个类,那么JVM会默认继承Object类;
//所以如果上面的c类创建了一个对象,那么实际上是创建了4个对象;
public class Xiaotianquan extends Dog {
    public static void main(String[] args) {
        Xiaotianquan x = new Xiaotianquan();
        x.fly();
        x.eat();
        x.study();
    }

    public void study(){
        System.out.println("会学习");
    }
}

若有错误,欢迎私信指正。

本文地址:https://blog.csdn.net/weixin_44734518/article/details/109252285

相关标签: 笔记 java