java 什么叫子类,在java 中,什么叫父类,什么叫子类
各位老铁们好,相信很多人对java 什么叫子类都不是特别的了解,因此呢,今天就来为大家分享下关于java 什么叫子类以及在java 中,什么叫父类,什么叫子类的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!
在java 中,什么叫父类,什么叫子类
父类和子类,就例如:老子和儿子,有着父子关系。而这里指的父子关系,其实也就是一种包含关系。打个比方,在我们现实生活中,学生Student是一个很大的概念,而U_Student大学生是属于学生中的一种,这里的学生即为父类,大学生即为子类。
父类和子类区别在哪?
学生和大学生都会有学习Study这个方法,但是大学生还会有自己特有的Study方法,两者还是有一定区别的,大学生的学习相较于其他学生来说,是更自由的。假如现在已经有一个学生(Student)类,然后我还要写一个大学生(U_Student)类,然后大学生UStudent类里有很多方法和Student里的方法都相同,但是还是有一小部分不同,怎样解决呢?难道还要重新写一个大学生类,并且重复敲一遍和学生类中一样的代码吗?那样浪费了时间和精力,并且浪费了存储空间,是很不划算的。所以,就有了“继承”。
子类继承父类,就是子类能引用父类中的某些东西。继承的关键字是extends,
例如:
public class Student(){}//父类
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 中,什么叫父类,什么叫子类的介绍到此结束,希望对大家有所帮助。