A. java中子类继承父类
除了父类的私有域,子类都能继承,也就是说,除了用private限制权利的子类都能继承。不用举例了,这已经很清楚了,只要将变量和方法前面加上private,就不能调用!
B. java异常类子类和父类的关系
java的父类和子类的关系, 他们主要的关系肯定是继承。子类也可以重写父类的方法。
继承是面向对象最显着的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。[1] Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。比如可以先定义一个类叫车,车有以下属性:车体大小,颜色,方向盘,轮胎,而又由车这个类派生出轿车和卡车两个类,为轿车添加一个小后备箱,而为卡车添加一个大货箱。
C. JAVA中 子类与父类构造方法的关系 个人理解
编写JAVA作业时在继承的环节发现了一些错误,希望总结一些规律:(以下全部属于自己归纳,可能有问题)
一句话概括就是:子类一定会调用(不是继承)父类的构造方法!
即遵循一个原则:子类的构造一定是在父类已构造的基础上!
这句话要分为几种情况来理解(下面只讨论父类有构造函数):
子类构造函数自动调用super() (也可以手动加上)
但如果父类只有含参数的构造方法,那么子类必须申明一个构造方法,其中包含对super(args)的调用
一、父类含有无参构造函数
1、子类没有构造方法或者含有无参的构造方法:
这种情况,都会默认地调用super()
2、子类含有有参数构造方法:
同样会在首句默认调用super() //其实跟情况1类似
二、父类含有含参数的构造方法,不含无参数的构造方法:
子类没得选择:
子类必须申明一个构造方法(且含super的args),且方法里要首先调用super(args),否则报错。
三、父类含 含参数的构造方法和无参的构造方法:
此时子类可以选择性调用:
可以无构造方法:仍会默认调用super()
也可以有构造方法:其中会默认地调用super(),你也可以在开头加上这句,如果你不希望调用父类默认的无参方法,那么在 子类构造方法 中调用 父类含参构造方法。
上述看似情况复杂,其实基于其原则理解并不难。
综上:java为了保持 子类的构造基于父类的构造 这一原则,子类构造时必须通过某些方式首先调用父类的构造方法,否则会报错。
D. java中为什么说子类对象即是父类对象求详解!!!
首先,子类继承自父类,可以继承父类除私有成员以外的所有成员,本身具有父类的一切性质。
就如:学生类继承自人类。按实际情况来说,学生属于人,具有人所具有的一切特征。所以可以说:学生是人。
再者,子类对象即使父类对象。体现了java中多态的特性。多态,是面向对象的程序设计语言最核心的特征。多态,意味着一个对象有着多重特征,可以在特定的情况下,表现不同的状态,从而对应着不同的属性和方法。从程序设计的角度而言,多态可以这样来实现(以java语言为例):
public interface Parent(){
public void simpleCall();
}
public class Child_A implements Parent{
public void simpleCall(){
//具体的实现细节;
}
}
public class Child_B implements Parent{
public void simpleCall(){
//具体的实现细节;
}
}
//当然还可以有其他的实现
然后,我们就可以看到多态所展示的特性了:
Parent pa = new Child_A();
pa.simpleCall()则显然是调用Child_A的方法;
Parent pa = new Child_B();
pa.simpleCall()则是在调用Child_B的方法。所以,我们对于抽象的父类或者接口给出了我们的具体实现后,pa 可以完全不用管实现的细节,只访问我们定义的方法,就可以了。
E. 什么是类的继承性Java中子类和父类有什么关系
1,不是继承性吧,应是传递性,如a继承b,b继承c,既a继承c,子类可以继承父类中的属性和方法(除私有的)。
F. java中子类和父类继承关系的应用
父类更多的是一个继承的作用,比如我现在需要制作好多家具,但是这些家具都有一些共同特性:都是实木,加工程序,销售程序等,然后沙发有沙发的特性,桌子有桌子的特性,定义类的继承主要是为了更好的拓展,比如某天我所有的家具的加工程序突然都改变了,如果没有父类,我是不是要在所有的子类里面都去重新修改加工程序?但是如果这些家具都继承了同一个父类的话,我就只需要修改父类(也就是家具)的加工程序,就不需要沙发、桌子什么的都修改了。。
而父类的作用还不仅如此,比如我现在需要执行“加工”这一方法,但是我不知道是执行加工沙发还是执行加工桌子,那么久直接选择执行加工家具了,类的继承一个是方法属性的继承,还有就是一种规范(跟接口一样)。。
G. java的抽象类和父类子类有啥区别
父类和抽象类:
父类是相对来说的,如果B类继承自A类,那么A类就是B类的父类,但是抽象类是一个绝对概念,只要使用abstract关键字声明的类都是抽象类。抽象类不能够直接被实例化,比如C类是抽象类,那么就不能使用new关键字声明C类的对象,只能声明抽象类子类的对象。一般来说,抽象类一定是某些类的父类(否则因为不能声明抽象类的对象,也就不能使用抽象类,当然这也不是绝对的,如果抽象类中的方法都是静态方法,不需要使用实例对象,那么也是可以的),但是父类不一定是抽象类。
子类关系:只要子类没有把从父类继承的抽象方法全部实现(注意是全部实现),就必须也变成抽象类。父类有2个抽象方法,子类只实现了父类的1个抽象方法,则子类必须是抽象类。如果子类把父类的2个抽象方法都实现了,就没必要是抽象类。判断标准就是,非抽象子类中不能有抽象方法,如果有抽象方法,子类就必须是抽象类。如果子类添加了自己的抽象方法,子类也必须是抽象类,无论父类是不是抽象类。
H. 在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("我通过自习去学习");
}
}
I. JAVA中,子类将继承父类的所有属性和方法么~为什么
是的,子类将继承父类的非私有的属性和方法。
在JAVA中,子类继承父类的所有方法和属性(构造方法要用关键super([参数])调用);继承是JAVA中一个重要的特色,便于程序的编写,提高代码的重用性。
1、如果给子类i提供get和set 通过get调用的自然是子类的。
2、如果给父类和子类分别提供get和set,调的仍然是子类的,因为方法被重写。
(9)java子类与父类的关系扩展阅读
在继承中用到super调用父类的构造
private String name;
private String sex;
public xinxin1(String name,String sex)
{
this.name=name;
this.sex=sex;
}
public void hello(){
System.out.println(“嗨!我是”+name+”我是”+sex+”孩”);
}
J. java 子类与父类 关系
parent p=new Child();
子类的引用动态的指向父类引用对象
初始化的后
如果子类自己没有构造方法,则它将继承父类的无参数构造方法作为自己的构造方法;如果子类自己定义了构造方法,则在创建新对象时,它将先执行继承自父类的无参数构造方法,然后再执行自己的构造方法。
所以先调用父类的Parent构造方法 然后子类对function进行了重写 所以输出
child's function
然后System.out.println(p.a);打印55
System.out.println(p.funtion());打印child's function 因为子类已经对父类的function方法进行了重写