java知识点四及错题整理

  1. static不可以修饰非static的属性,因为类加载的时候,static属性比非static先初始化,那么一个存在的总不能访问一个没有存在的
  2. 以下程序的输出结果为
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:编译错误
正确答案:D
你的答案:A
答案解析:子类构造方法在调用时必须先调用父类的,由于父类没有无参构造,必须在子类中显式调用,修改子类构造方法如下即可:

public Derived(String s){
		super("s");
		System.out.print("D");
	}
  1. 对于jdk1.8,以下为 java 语法保留不能作为类名和方法名使用的是

A
default
B
int
C
implements
D
throws
正确答案:ABCD
你的答案:B

  1. 在java中重写方法应遵循规则的包括()
    A
    访问修饰符的限制一定要大于被重写方法的访问修饰符
    B
    可以有不同的访问修饰符
    C
    参数列表必须完全与被重写的方法相同
    D
    必须具有不同的参数列表
    正确答案:BC
    你的答案:BD
    答案解析及相关知识点:
    链接:https://www.nowcoder.com/questionTerminal/3b074597f13f46f6ac177e31f8d77a2a
    来源:牛客网

方法重写
参数列表必须完全与被重写方法的相同;
返回类型必须完全与被重写方法的返回类型相同;
访问权限不能比父类中被重写的方法的访问权限更低。例如:如果父类的一个方法被声明为public,那么在子类中重写该方法就不能声明为protected。
父类的成员方法只能被它的子类重写。
声明为final的方法不能被重写。
声明为static的方法不能被重写,但是能够被再次声明。
子类和父类在同一个包中,那么子类可以重写父类所有方法,除了声明为private和final的方法。
子类和父类不在同一个包中,那么子类只能够重写父类的声明为public和protected的非final方法。
重写的方法能够抛出任何非强制异常,无论被重写的方法是否抛出异常。但是,重写的方法不能抛出新的强制性异常,或者比被重写方法声明的更广泛的强制性异常,反之则可以。
构造方法不能被重写。
如果不能继承一个方法,则不能重写这个方法。
方法重载
被重载的方法必须改变参数列表(参数个数或类型或顺序不一样);
被重载的方法可以改变返回类型;
被重载的方法可以改变访问修饰符;
被重载的方法可以声明新的或更广的检查异常;
方法能够在同一个类中或者在一个子类中被重载。
无法以返回值类型作为重载函数的区分标准。

  1. 程序中常采用变量表示数据,变量具有名、地址、值、作用域、生存期等属性。关于变量的叙述,正确的是()
    A
    根据作用域规则,在函数中定义的变量只能在函数中引用
    B
    在函数中定义的变量,其生存期为整个程序执行期间
    C
    在函数中定义的变量不能与其所在函数的形参同名
    D
    在函数中定义的变量,其存储单元在内存的栈区
    正确答案:AB
    你的答案:ABCD
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值