java_子类和继承

本文探讨了Java中的子类和继承概念,包括单重继承、类层次结构、对象创建过程以及构造方法的使用。文章还介绍了super关键字、final和abstract特性,以及接口和多态性的重要性。同时,讲解了成员变量的隐藏、方法重写,以及异常处理的基本原则,最后提到了内部类和匿名类的应用场景。
摘要由CSDN通过智能技术生成

1、为什么会出现子类(sub class),父类(super class)的概念?他们出现解决了什么问题?

2、如何定义一个类的字类?定义的格式是什么?
extends:关键字,用来定义子类。

//c++ 用冒号
class 子类名 extends 父类名 {
   
	父类基础上,子类特有东西
}
父类必须提前存在

3、什么是单重继承? 直接父类只能有一个,间接父类可以有很多个。

4、java所有类有什么性质? 所有类形成一个倒立树状层次结构,因为java只允许单重继承,这就一个类至多只有一个父类,可以有多个子类,符合树的一对多的性质,所以形成了树状结构。

5、所有类都有父类吗或者间接父类吗? 是的,树根是object类(java.lang.object),即object类是所有类的祖先类,因此除了object类,每个类仅有一个直接父类。

6、什么时候这个类被认为是object类的子类? 如果类的声明中没有使用extends关键字 ,那么就被认为是object的(直接子类)子类

7、创建子类对象的时候,是首先为子类对象内特有的成员变量分配内存吗? 不是的,首先为父类的(回溯到object类)成员变量分配内存,然后依次下来分配内存。

8、子类的构造方法有什么要求? 子类构造方法的第一句首先要调用父类的相应构造方法,并且不能直呼其名,要用super;这同时也可以用7的原因来解释,因为首先要为父类的成员变量分配内存,然后才为子类的成员变量分配内存,所以要先调用父类的构造方法,再为子类分配内存。

class Person {
   
	int n;
	Person (int n) {
   
		身份证号n;
	} 
}
class  Student extends Person {
   
	int m;
	Student (int n, int m) {
   
		super (n);
		学号m;
	}
}

9、instanceof运算符是什么?用来解决什么问题? instanceof 是双目运算符,用来判断左边的对象是不是右边类的对象。
格式 x instanceof T 值:true,| false
左边的x,对象,右边T是类,表示左边x是右边T的对象吗?如果是,则返回true,否则false

子类的继承性

1、父类的成员变量和方法一定可以再子类使用吗? 因为要遵守访问规则,所以父类的成员变量方法不一定每一个都可以再子类中使用。 (1)那么在创建对象的时候还需要为父类这些成员变量分配内存吗? 要的,但是子类中不可以调用这些成员变量

2、什么叫继承? 如果父类的某个成员变量在子类中可以调用,那么说明这个成员变量被继承了。

	pacakage S;
	public class A{
   
		public int 学号; //private int 学号;
	}
	Pacakage T;
	class B extends S.A(如果不是一个包内,那么就需要写全称或者import S.A) {
   
		B k = new B();
		k.学号 = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值