牛客练习(21-3-16)

题目1

main方法的形式可以是:

public static void main(String[] args)
或者
public static void main(String args[])
题目2

可以把任何一种数据类型的变量赋给Object类型的变量。

×
Java中一切都是对象,Object是所有类的根类。
题目3

以下输出结果是:

String s1=new String( ” xyz ” );
String s2=new String( ” xyz ” );
Boolean b1=s1.equals(s2);
Boolean b2=(s1==s2);
System .out.print(b1+ ” ” +b2); 
true	false
String s1=new String( ” xyz ” );            //创建了String类型的内容为xyz的s1对象
String s2=new String( ” xyz ” );            //创建了String类型的内容为xyz的s2对象
Boolean b1=s1.equals(s2);                    //比较s1对象和s2对象的内容相等,返回true。
Boolean b2=(s1==s2);                        //比较s1和s2两个对象的存储地址是否相等,明显两者分别存储在不同的地址,所以返回:false。


equals-判断内容是否相等;
==		判断存储地址值是否相等。
题目4

以下程序的输出结果是:

public class EqualsMethod
{
    public static void main(String[] args)
    {
        Integer n1 = new Integer(47);
        Integer n2 = new Integer(47);
        System.out.print(n1 == n2);
        System.out.print(",");
        System.out.println(n1 != n2);
    }
}
false,true

== 和 !=是用来比较地址值的
题目5

以下程序的输出结果是:

public class Test
{
    public static Test t1 = new Test();
    {
         System.out.println("blockA");
    }
    static
    {
        System.out.println("blockB");
    }
    public static void main(String[] args)
    {
        Test t2 = new Test();
    }
 }
blockAblockBblockA

静态块:用static申明,JVM加载类时执行,仅执行一次
构造块:类中直接用{}定义,每一次创建对象时执行
执行顺序优先级:静态块>main()>构造块>构造方法
静态块按照申明顺序执行,先执行Test t1 = new Test();
所有先输出blockA,然后执行静态块,输出blockB,最后执行main
方法中的Test t2 = new Test();输出blockA。
题目6

在创建派生类对象,构造函数的执行顺序是:

A.基类构造函数,派生类对象成员构造函数,派生类本身的构造函数
B.派生类本身的构造函数,基类构造函数,对象成员构造函数
C.基类构造函数,派生类本身的构造函数,派生类对象成员构造函数
D.对象成员构造函数,基类构造函数,派生类本身的构造函数

答案:A
父类的静态域-子类的静态域 父类的非静态域-父类的构造函数 子类的非静态域-子类的构造函数 
规律就是 父类先于子类 静态的先于非静态的
其中静态域包含静态代码块与静态方法,这个谁在前面,则先执行谁。
非静态域同理
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值