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() + "个对象");
            
            
        }
    
     }

    截图如上

  • 相关阅读:
    Software Solutions CACHE COHERENCE AND THE MESI PROTOCOL
    CACHE COHERENCE AND THE MESI PROTOCOL
    Multiprocessor Operating System Design Considerations SYMMETRIC MULTIPROCESSORS
    Organization SYMMETRIC MULTIPROCESSORS
    PARALLEL PROCESSING
    1分钟内发送差评邮件
    Secure Digital
    SYMMETRIC MULTIPROCESSORS
    A Taxonomy of Parallel Processor Architectures
    parallelism
  • 原文地址:https://www.cnblogs.com/Excusezuo/p/9824606.html
Copyright © 2011-2022 走看看