java什么叫子类?

发布网友 发布时间:2022-04-23 11:52

我来回答

5个回答

热心网友 时间:2023-08-13 03:05

父子类:存在继承关系,关键字extends,例如你说的:class Son extends Father{String name;} 儿子是父亲的一个子类,是两个的类,只是子类继承父类的成员变量和成员方法

内部类:与继承无关,是定义在一个类内部的类,可以看成是类的一部分,分为:

 

 

 

例如:class Father{class FatherClothes extends Clothes{} }  这个表示 “ 父亲的衣服FatherClother” 定义在父亲类里面(没有继承关系),并继承衣服类Clother(有继承关系)  

此时“父亲的衣服类”可以看成是父亲类的一个一个成员变量,但他们没有继承关系,可以写成:Father.FatherCloter ,而那个“.”,表示成员运算符表示FatherClother是Father的一个成员,就像上面Son类中的 Son.name一样,但是我们不能写成Father.Son。

 

所以楼主说的  “class a1 extends a2{}那么a1是a2的子类吗?”是对的。

“我们写B1.B2.C3(中间是点号)的时候,就表示c3是b2的子类,b2是b1的子类?”不是子类,是内部类

“那class a1{class a2{}}这样a2也是a1的子类吗?也可以写成a1.a2?”不是子类,是内部类

 

内部类在解决这样的问题的时候,很有用(当然只是一个方面,还有别的用处):

一个接口A中有p()方法,一个类B中也有p()方法,那么我想让这个接口被B实现,然后调用p()方法(B类中的p()方法,我不想覆盖),但是我们调用的哪个?

此时我们可以在B的内部声明一个内部类C,让C去实现A接口,然后调用B中原有的p()方法,可以用B的对象 b.p(),调用接口中被实现的p()方法,可以b..c.p()(c是类C的一个实例)

 

继承,太熟悉了,熟悉到都不知道说什么了,只能想到这么一句:继承意味着基于一个已经定义好的类创建一个新的类,新的类将以某种方式扩展原有的类,可以认为就是一个类得到另一个类所有属性的过程(构造函数木有被继承,但子类可以通过super调用)。

 

后面还有匿名内部类,有兴趣可以百度一下了解了解。

热心网友 时间:2023-08-13 03:05

B1.B2.B3是嵌套类

Java里extends才是子类。

热心网友 时间:2023-08-13 03:06

蛋,是鸡的子类,但如果还在鸡肚子里,不算。
class a1 extends a2{} ,有鸡a2,生一蛋a1,a1为鸡之子。
class a1{class a2{}},有鸡a1,怀蛋a2,不一定能生呢,是内部蛋,尚不算子。
B1.B2.C3,有鸡B1,怀蛋B2,蛋B2又怀蛋C3。
简单说,可能不严谨,extends就是生蛋的意思。

热心网友 时间:2023-08-13 03:06

class a1 extends a2{}的话a1是a2的子类,
而class a1{class a2{}}的话,a2是a1的内部类,内部类和子类是两个概念

热心网友 时间:2023-08-13 03:07

class a1 extends a2{}那么a1就是a2的子类
B1.B2.C3(中间是点号)的时候,就表示C3是B2的方法那class a1{class a2{}}这是a2是a1的内部类

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com