【java】牛客网刷题

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和基本数据类型是值传递,其他都是引用传递。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值