PTA-2023面向对象程序设计(练习3)部分判断选择题

写在前面,实在是能力有限,写这个主要是因为自己的基础太差了,方便在期末的时候进行复习......所以说,可能还是有错误。仅供参考吧。

一、判断部分

1、子类不继承父类的构造方法。T

子类不能继承父类的构造方法,只能继承其构造方法

2、类在实现接口方法时必须给出方法体,并且一定要用public来修饰。T

接口中的方法默认是public abstract方法,所以需要public修饰

3、一个类只能有一个父类,但一个接口可以有一个以上的父接口。T

同时,一个类可以有多个接口!

4、接口中的方法默认都是静态的。F

这里,接口中的方法有两大类:默认方法和静态方法,所以不对

二、选择部分

1、private访问权限

private:同一个类

默认:同一个类,同一个包

protected:不同包的非子类,同一个包,同一个类

public:在前面的基础上加上不同包的非子类

2、缺省构造方法:没有定义,这个时候会默认一个(也就是已经定义过了就不会有),同时,仅仅对于这个类而言。

3、const是C语言的常量定义关键字,在Java里面应该使用final

4、

下面是People和Child类的定义和构造方法,每个构造方法都输出编号。在执行new Child("mike")的时候都有哪些构造方法被顺序调用?请选择输出结果 (    )

class People {
        String name;
        public People() {
               System.out.print(1);
        }
        public People(String name) {
               System.out.print(2);
               this.name = name;
        }
}
class Child extends People {
       People father;
       public Child(String name) {
              System.out.print(3);
              this.name = name;
              father = new People(name + ":F");
       }
       public Child(){
             System.out.print(4);
       }
}

答案:132,运行出结果

一般是先父类的默认构造方法,然后子类的构造方法,最后父类的构造方法

5、

类Teacher和Student是类Person的子类,下面的代码中最后一句语句的运行结果是( ).

Person p;
Teacher t;
Student s;
//p,t and s are all non-null.
if(t instanceof Person)  {s=(Student)t;}

A.编译时正确,但运行时错误
B.将构造一个Student对象
C.表达式是错误的
D.表达式是合法的

答案:C,表达式有误,两个类是无关的,无法相互转化。

6、内部类不可访问外部类的方法变量

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值