zoukankan      html  css  js  c++  java
  • 动手动脑03

    (1)请输入并运行以下代码,得到什么结果?

    原因是因为在obj1上有开辟了一个新空间obj2.它们两个是独立的,无法相等。

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

    软件提示Foo函数未定义。原因是:因为如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。

    (3)以下代码输出结果是什么?

    运行结果为100   300

    执行类成员定义时指定的默认值或类的初始化块,先执行哪个要看先后顺序。 执行类的构造函数。类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些对象创建时必须执行的代码。

    (4)

    静态代码块无论有多少,都是最先执行;静态代码块只执行一次,之后执行构造代码块,最后执行构造方法。无论子类是否调用父类构造方法,父类的所有构造代码块、构造方法均先于子类的构造代码块、构造方法执行。静态代码块也遵循父类先于子类执行的特点。如果子类存在调用父类的有参构造方法,那么执行父类构造方法时就不会执行无参构造方法(使用this()调用除外)。

    (5)

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

    (6)两对整数明明完全一样,为何一个输出true,一个输出false?

            因为Integer类内有个东西叫常量池。在为Integer类变量赋值时,若取值在-128到127内,则会在常量池中寻找内存地址,如果取值不在常量池内(即-128到127),则会为变量开辟新的内存空间来存值。以下为Integer类的赋值方法

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

    package practise;
    
    public class C {
        private static int count;
    
    public C() {
             // TODO 自动生成的构造函数存根
             count++;
        }
     
       public static int getCount()
        {
            return count;
      }
         public static void main(String[] args) {
            // TODO 自动生成的方法存根
             C t1 = new C();
            C t2 = new C();
             C t3 = new C();
             System.out.println("你创建了" + getCount() + "个对象");
            
            
        }
    
     }

    截图如上

  • 相关阅读:
    动态规划解按摩师的最长预约时间
    C#中WinForm的Tab键顺序调整顺序
    内网穿透工具对比FRP+NPS+Zerotier与NAT服务器测试
    " " 和 ' ' 混用拼接html字符串,且含有事件,事件中有参数
    HAProxy在Windows下实现负载均衡与反向代理
    react 导入src外部的文件 Relative imports outside of src/ are not supported.
    11_实例
    C#删除指定目录下文件(保留指定几天前的日志文件)
    【转】系统创建定时执行任务bat批处理删除指定N天前文件夹的文件
    mariadb导如数据异常------Error Code: 1153
  • 原文地址:https://www.cnblogs.com/Excusezuo/p/9824606.html
Copyright © 2011-2022 走看看