面向对象编程练习

面向对象编程练习

1.以下程序的输出结果为(D)

class Base{
  public Base(String s){
    System.out.print("B");
  }
}
public class Derived extends Base{
  public Derived (String s) {
    System.out.print("D");
  }
  public static void main(String[] args){
    new Derived("C");
  }
}

A.BD
B.DB
C.C
D.编译错误
解析:因为父类中定义了有参构造,默认的无参构造就不再生成。在Derived子类中会默认调用父类的有参构造super(s);
程序会编译出错。
2.以下程序执行的结果是(C)

class X{
	Y y=new Y();
	public X(){
		System.out.print("X");
	}
}
class Y{
	public Y(){
		System.out.print("Y");
	}
}
public class Z extends X{
	Y y=new Y();
	public Z(){
		System.out.print("Z");
	}
	public static void main(String[] args) {
		new Z();
	}
}

A.ZYXX
B.ZYXY
C.YXYZ
D.XYZX
解析:
对象初始化:
1.new现在堆上开辟空间(此时内中所有属性都有默认值)。
2.调用构造方法进行属性的赋值。
3.Z继承X的,所有先调用X的构造方法,所以先打印YX,后打印YZ即最后结果为YXYZ.
3.在 java 中,一个类可同时定义为许多同名的方法,这些方法的形式参数个数,类型或顺序各不相同,传回的值可能各不相同,这种面向对象的特性称为 (C)
A.隐藏
B.重写
C.重载
D.无此特性
4.java 接口的修饰符可以为(D)
A.private
B.protected
C.final
D.abstract
解析:
(1)接口必须要用子类实现所以不能用private修饰;
(2)protected为继承访问权限,不能用来修饰接口,接口要用子类来实现,一般为public修饰;
(3)final终结器:
修饰属性-常量;
修饰方法-方法不能被重写;
修饰类-类不能有子类;
所以不能用final修饰接口;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ZJHFOREVERZJ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值