首页编程java编程java 什么叫子类,在java 中,什么叫父类,什么叫子类

java 什么叫子类,在java 中,什么叫父类,什么叫子类

编程之家2023-10-1197次浏览

各位老铁们好,相信很多人对java 什么叫子类都不是特别的了解,因此呢,今天就来为大家分享下关于java 什么叫子类以及在java 中,什么叫父类,什么叫子类的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

java 什么叫子类,在java 中,什么叫父类,什么叫子类

在java 中,什么叫父类,什么叫子类

父类和子类,就例如:老子和儿子,有着父子关系。而这里指的父子关系,其实也就是一种包含关系。打个比方,在我们现实生活中,学生Student是一个很大的概念,而U_Student大学生是属于学生中的一种,这里的学生即为父类,大学生即为子类。

父类和子类区别在哪?

学生和大学生都会有学习Study这个方法,但是大学生还会有自己特有的Study方法,两者还是有一定区别的,大学生的学习相较于其他学生来说,是更自由的。假如现在已经有一个学生(Student)类,然后我还要写一个大学生(U_Student)类,然后大学生UStudent类里有很多方法和Student里的方法都相同,但是还是有一小部分不同,怎样解决呢?难道还要重新写一个大学生类,并且重复敲一遍和学生类中一样的代码吗?那样浪费了时间和精力,并且浪费了存储空间,是很不划算的。所以,就有了“继承”。

java 什么叫子类,在java 中,什么叫父类,什么叫子类

子类继承父类,就是子类能引用父类中的某些东西。继承的关键字是extends,

例如:

public class Student(){}//父类

java 什么叫子类,在java 中,什么叫父类,什么叫子类

public class U_Student extends Student(){}//子类继承了父类

当子类和父类用一个同名方法,但是子类的实现却和父类不同,用到"方法重写"。

重写是指方法定义相同,但是实现不同,存在于父子类之间。

例如:

//父类

public class Student(){

//学习方法

public void study(){

System.out.println("我通过听老师讲课学习");

}

}

//子类

public class UStudent extends Student(){

public void study(){

System.out.println("我通过自习去学习");

}

}

java中什么是基类和子类

基类就是父类,Object类是所有类的父类,子类继承父类,继承并重写父类的方法和非私有成员变量。举个例子,车是父类,能走,有轮子是他的方法和属性,汽车,自行车,火车就是子类,继承了父类走的方法,又重载了轮子的个数这个属性。大概就是这样,不理解可以看看Java核心技术第一卷

java什么叫子类

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

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

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

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

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

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

“那classa1{classa2{}}这样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调用)。

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

Java的类的继承中,子类与非子类是什么有什么区别

1.继承,是对有着共同特性的多类事物,进行再抽象成一个类。这个类就是多类事物的父类。父类的意义在于可以抽取多类事物的共性。子类中有和父类中可访问(可继承到子类)的同名同返回类型同参数表的方法,就会覆盖从父类继承来的方法。

2.(1)standalone applications,或称为applications:可独立执行的程序

针对用户接口的不同,可分为:

a) console application

b) windows application

(2)embedded applications:嵌入式应用程序,必须依附在其它程序里执行

a)applets:内嵌于网页并通过因特网传递,在用户端使用支持Java的浏览器内动态地由服务器端下载并执行的小程序

b)JSP、Java Servelet:以网页的形式存在于服务器端并且通过网络下载至支持Java的浏览器内执行

c)MIDlet:利用J2ME MIDP所开发而成,执行环境为移动电话及PDA等

d)Spotlet:利用J2ME CLDC所开发而成,执行环境为PDA等。

3.FlowLayout,流式布局管。尝试在一行中按增加顺序摆放组件,窗体大小改变时,组件位置会相应发生改变

BorderLayout,按方位进行布局管理,(North,South,East,West,Middle)不明确指定,就会默认加载在中间(Middle),每个部分只能放一个组件

GridLayout,网格布局,通过行列,间距,来用网格分割,把组件放入如网格中,先行后列摆放组件。可以保证每个组件的大小都是一样的

CardLayout,卡片布局,组件重叠放置。

GridBagLayout,组件可以跨行跨列的网格布局。

Frame的默认布局管理器borderlayout

Panel的默认布局管理就是FlowLayout

关于java 什么叫子类,在java 中,什么叫父类,什么叫子类的介绍到此结束,希望对大家有所帮助。

java中用什么函数测长度 java常用函数方法石家庄15中 石家庄15中高中怎么样