javaSE学习总结(6)

本文详细探讨了Java中的继承性,解释了为何Java不支持多继承以及如何通过接口实现多继承。此外,还通过实例分析了继承、重载和重写的区别。同时,文章讨论了类的封装特性,并给出了关于方法覆盖和重载的注意事项。最后,通过一系列编程问题和示例,展示了如何在实际编程中应用这些概念,如Person、Employee、Faculty、Staff类的定义以及equals()和toString()方法的重要性。
摘要由CSDN通过智能技术生成

章节练习题及面试题
继承性
java类是否可以多继承,怎么实现多继承?
答:java没有多继承,但可以通过接口的形式来达到多继承的目地。

继承练习
定义类A 和类B 如下:
class A {
int a = 1;
double d = 2.0;

void show() {
	System.out.println("Class A: a=" + a + "\td=" + d);
}

}

class B extends A {
float a = 3.0f;
String d = “Java program.”;

void show() {
	super.show();
	System.out.println("Class B: a=" + a + "\td=" + d);
}

}

(1) 若在应用程序的main 方法中有以下语句:
A a=new A();
a.show();
则输出的结果如何?
(2) 若在应用程序的main 方法中定义类B 的对象b:
A b=new B();
b.show();
则输出的结果如何?
答:输出结果为:
1)Class A: a=1 d=2.0
2)Class A: a=1 d=2.0
Class B: a=3.0 d=Java program。

写出重载与重写的区别。

重载(overload)和重写(overried,有的书也叫做“覆盖”)的区别?
答:方法的重写Overriding和重载Overloading是Java多态性的不同表现。重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被"屏蔽"了。如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。

Overload的方法是否可以改变返回值的类型?
Overloaded的方法是可以改变返回值的类型

写出错误答案错误的原因
class Demo{
int show(int a,int b){return 0;}
}
下面那些函数可以存在于Demo的子类中。
A.public int show(int a,int b){return 0;}//可以,覆盖。
B.private int show(int a,int b){return 0;}//不可以,权限不够。
C.private int show(int a,long b){return 0;}//可以,和父类不是一个函数。没有覆盖,相当于重载。
D.public short show(int a,int b){return 0;}//不可以,因为该函数不可以和给定函数出现在同一类中,或者子父类中。
E.static int show(int a,int b){return 0;}//不可以,静态只能覆盖静态。

写出程序结果
class Super {
public int get() {
return 4;
}
}

class Demo15 extends Super {
public long get() {
return 5;
}

public static void main(String[] args) {
	Super s = new Demo15();
	System.out.println(s.get());
}

}

编译失败,因为子类父类中的get方法没有覆盖。但是子类调用时候不能明确返回的值是什么类型。
所以这样的函数不可以存在子父类中。

按要求实现下列问题:实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff。具

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值