• 类和对象


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

    public class Test{

       public static void main(String[] args){

                 Foo obj1=new Foo();

                 Foo obj2=new Foo();

                 System.out.println(obj1==obj2);

    }

    }

    class Foo

    {int value=100;}

    程序截图:

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

    错误原因: 如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。

    3、使用上页幻灯片中定义的类,以下代码输出的结果是什么?

    请依据代码的输出结果,自行总结Java字段初始化的规律。

    程序截图:

    Java字段初始化规律系统会按顺序对Java字段进行初始化,如果有好几个方法都对同一个变量进行了初始化。Java会将最后一次的初始化结果赋给该变量。

    4、请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。

    程序截图:

    静态初始化块的执行顺序:

    (1)加载父类(以下序号相同,表明初始化是按代码从上到下的顺序来的)

      1.为父类的静态属性分配空间并赋于初值

      1.执行父类静态初始化块;

    (2)加载子类

      2.为子类的静态属性分配空间并赋于初值

      2.执行子类的静态的内容;

    (3)加载父类构造器

      3.初始化父类的非静态属性并赋于初值

      3.执行父类的非静态代码块;

      4.执行父类的构造方法;

    (4)加载子类构造器

      5.初始化子类的非静态属性并赋于初值

      5.执行子类的非静态代码块;

      6.执行子类的构造方法.

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

    public class Test2 {
    public static void main(String[] args)
    {
    Test t=new Test();
    int a=t.getyear();
    t.input1();
    Test.input(a);
    t.input(a);
    }
    }
    class Test
    {
    int year = 100;
    public int getyear()
    {
    return year;
    }
    public static void input(int a)
    {
    System.out.println("静态"+a);
    }
    public void input1()
    {
    System.out.println("实例");
    }
    }

    程序截图:

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

    package demo;

    public class lei {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    lei1 a=new lei1();
    lei1 b=new lei1();
    b.out();
    }
    }
    class lei1{
    static int n=0;
    lei1(){
    n++;
    }
    public void out(){
    System.out.println("你已经创建了"+n+"个对象!");
    }
    }

    程序截图:

  • 相关阅读:
    Java 的Throwable、error、exception的区别
    最长回文子序列和最长回文子串
    牛客练习赛40 C-小A与欧拉路
    判断一棵树是否为二叉搜索树,完全二叉树和二叉平衡树
    Java语言的特点和特性
    设计模式
    联合索引和单列索引
    如何优化sql查询
    数据库的范式和约束
    数据库事务ACID和事务的隔离级别
  • 原文地址:https://www.cnblogs.com/th1314/p/5984202.html
Copyright © 2020-2023  润新知