zoukankan      html  css  js  c++  java
  • 作业

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

  • 相关阅读:
    Response.AppendHeader使用大全
    JS获取父框架的内容:获取子框架的内容:js框架应用
    各种好用的代码生成器
    Centos 64位上搭建Android
    WinForm 多线程
    GAC及其作用
    WPF 详解模板
    WPF控件开发基础(1)
    WPF:从WPF Diagram Designer Part 1学习控件模板、移动、改变大小和旋转
    告诫
  • 原文地址:https://www.cnblogs.com/cuijunfeng/p/9826770.html
Copyright © 2011-2022 走看看