【java】牛客网刷题

    xiaoxiao2023-10-23  157

    1、

    给出以下代码

    public class TestObj{ public static void main(String[] args){ Object o=new Object(){ public boolean equals(Object obj){ return true; } }; System.out.println(o.equals(“Fred”)); } }

    答案:

    true

    总结:

    知识点:

    (1)本题构造了匿名内部类、并赋值给了对象o,同时相当于一个上转型对象。

    (2)重写了equals方法。

    疑问:

    (1)一开始向为什么重写时参数是一个object的对象,使用时却输入一个字符串,后来明白了,String是Object的一个子类。

    2、 以下代码将打印出

    public static void main(String args[]) { List Listlist1 = new ArrayList(); Listlist1.add(0); List Listlist2 = Listlist1; System.out.println(Listlist1.get(0) instanceof Integer); System.out.println(Listlist2.get(0) instanceof Integer); }

    答案: true true 知识点; (1)拆箱装箱:需要它是Integer它就是Integer,需要它是int它就是int。 (2)将list1的值赋值给list2那么两者指向同一个堆内存空间

    3、一个 .java文件中可以有多个类,唯一的限制就是文件中只能有一个public类,并且此public类必须与文件名相同。

    4、接口中只能由默认静态变量(public final static)

    5、java的关键字一律是小写,所以null是关键字NULL不是

    6、其他类直接调用equals方法就相当于直接使用==,只有String重写了equals方法,只要内容一样就行。

    7、在接口中使用 public static final 数据类型 常量名 来定义常量,也可以直接省去 public static final

    8、 (1)abstract 和 final不能来同时修饰一个类 (2)abstract 和 private 不能同时修饰一个方法或变量 因为private作用范围是本类 (3)abstract 和 static 不能同时修饰一个方法 因为static修饰的方法可以用类名直接调用,而abstract方法没有方法体,不能调用

    9、除了String和基本数据类型是值传递,其他都是引用传递。

    最新回复(0)