zoukankan      html  css  js  c++  java
  • 动手动脑(10.17)

    1.

    以下代码为何无法通过编译?哪儿出错了?

    因为查不到Foo(),所以无法通过编译。错在:在错误的下方中已经定义了Foo类,之后定义的Foo()中有参数,而在错误处中Foo()中没有参数,所以导致错误

    2.

    package classtext1;
    
    public class homework {
        {
            field=200;    
            }
    public int     field = 100;
    public homework(int value) {
        this.field=value;
    }
    public homework() {
        
    }
    
        
    public static void main(String[] args) {
        homework obj = new homework();
        System.out.println(obj.field);
        obj=new homework(300);
        System.out.println(obj.field);
    }
    }

    编译结果:

     函数中定义的默认值谁排在前面谁被执行。而有参的构造函数则调用谁则会执行谁。

    3.

    静态初始化块只执行一次,而创建子类型的对象时其父类型的静态初始化块的执行。

    4.

    静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?

    public class Satic {
    public static void Satic1(Satic n) {
        n.Satic2();
    }
    public static void Satic2() {
        System.out.println("hello world");
    }
    public static void main(String[] args) {
        Satic b = new Satic();
        Satic1(b);
    
    }
    }

    5.两对整数明明完全一样,为何一个输出true,一个输出false?

    输出诡异的结果,原因何在?

    Integer类只对-128~127之间的对象做了缓存,(Integer)127 == (Integer)127两边装箱后,实际指向堆内存中同一个对象,(Integer)129 == (Integer)129,装箱为引用类型后,没有做缓存,指向堆内存中不同对象,所以比较结果为false。其源代码为

     从中可以更清楚的看到。

    6.使用类的静态字段和构造函数,可以跟踪某个类所创建对象的个数。请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”

    public class Satic {
        public static int sum=0;
    public static void Satic1(Satic n) {
        ++sum;
        n.Satic2();
    }
    public static void Satic2() {
        System.out.println("你已经创建了"+sum+"个对象");
    }
    public static void main(String[] args) {
        Satic b = new Satic();
        Satic1(b);
    
    }
    }
  • 相关阅读:
    vue子组件向父组件传值
    定义特有属性的对象
    电话号码的校验
    多个图片的显示与隐藏
    原生的ajax请求----(播放托管到爱奇艺上的视频)
    将视频托管到爱奇艺 (第一步)
    2018年春季个人阅读计划
    《软件需求与分析》阅读笔记
    Ngers天气——开发进程4
    软件需求与分析读书笔记3
  • 原文地址:https://www.cnblogs.com/yangxionghao/p/11691984.html
Copyright © 2011-2022 走看看