面向对象,继承的来源

/*
两个类中,含有共性的内容:name、age-->
单独搞一个共性类:将学生和工人的共享描述提取出来,只要让学生和工人与单独描述的这个类有关系就可以了。


class Student
{
    String name;
    int age;
    void study()
    {
        System.out.println("good study");
    }
}

class Worker
{
    String name;
    int age;
    void work()
    {
        System.out.println("good work");
    }
}
*/

//共享类:学生和工人是子类,Person是父类
/*
继承:
1、提高了代码的复用性
2、让类与类之间产生了关系,有了这个关系,才有了多态的特性。

注意:千万不要为了获取其他类的功能,简化代码而继承。
必须是类与类之间有所属关系才可以继承,所属关系:is a;(谁是谁的一员)
例如:
class A extend C
{
    //void demo1(){}
    void demo2(){}
}

class B extend C
{
    //void demo1(){}//继承之后,这句代码不用写。
    void demo3(){}
}

class C
{
    void demo1(){}
}

JAVA语言中:java只支持单继承,不支持多继承。

因为多继承容易带来安全隐患:当多个父类中定义了相同功能,
当功能内容不同时,子类对象不确定要运行哪一个。
但是java保留这种机制,并用另一种体现形式来完成表示,多实现。

java支持多层继承,也是一个继承体系

如何使用一个继承体系中的功能呢?

想要使用体系,先查阅体系父类的描述。因为父类中定义了该体系中的共性功能。
通过了解共性功能,就可以知道该体系的基本功能。
那么在具体调用时,要创建最子类的对象,为什么呢?
1、有可能父类不能创建对象,如抽象类、接口
2、创建子类对象可以使用更多的功能,包括基本的也包括特有的。
简单一句话:查询父类功能,创建子类对象使用功能。

例如:是不允许的
class C extends A,B
{}

main()
{
    C c=new C();
    c.show();
}

C c=new C();
c.show();

聚集:谁里面有谁,has a;

聚合:球员是球队中的一个,依赖性没组合强。

组合:手是人身体的一部分,互相依赖,互相影响
*/
class Person
{
    String name;
    int age;
}

class Student extends Person
{
    void study()
    {
        System.out.println("good study");
    }
}

class Worker extends Person
{
    void work()
    {
        System.out.println("good work");
    }
}



class  ExtendsDemo//继承
{
    public static void main(String[] args)
    {
        System.out.println("Hello World!");
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值