• JAVA类与对象


    1.以下代码无法通过编译,哪里出错了?

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

    截图如下:

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

     输出结果为:100   300

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

    3.动手动脑:当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行,请自行编写代码验证以上结论

    class GrandFather

    {

    static

    {

    System.out.println("GrandFather的静态初始化块");

    }

    }

    class Father extends GrandFather

    {

    static

    {

    System.out.println("Father的静态初始化块");

    }

    }

    class Son extends Father

    {

    static

    {

    System.out.println("Son的静态初始化块");

    }

    }

    public class Hello

    {

    public static void main(String[] args) 

    {

    new Son();

    }

    }

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

        静态初始化块只执行一次。创建子类型的对象时,也会导致父类型的静态初始化块的执行。

     

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

    请编写代码验证你的想法

    public class Test {

    public static void main(String[] args){

    Foo f;

    f=new Foo();

    f.display();

    }

    }

    class Foo{

    public static void display(){

    System.out.println("调用成功!");

    }

    }

     

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

    class Num{

    private static int n;

    public Num()

    {

    n++;

    }

    public static int get()

    {

    return n;

    }

    }

    public class Number {

    public static void main(String[] args){

    Num n1=new Num();

    Num n2=new Num();

     System.out.println("创建对象的个数为:"+Num.get( ));

    }

    }

     

  • 相关阅读:
    linux初始密码Mysql
    lamp整个打包
    模拟小球碰撞后返回
    Linux图形界面卡死
    非模态对话框
    菜单
    键盘消息简单示例
    菜单练习
    模态对话框练习
    阶段知识整合(画笔,画刷,字体)
  • 原文地址:https://www.cnblogs.com/qianxia/p/4887506.html
Copyright © 2020-2023  润新知