zoukankan      html  css  js  c++  java
  • 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( ));

    }

    }

     

  • 相关阅读:
    整数的二进制表示中1的个数
    最长公共子序列
    关于使浏览器崩溃的代码尝试
    wp7 独立存储
    动态引用样式表
    锋利的jQuery小记……
    DataGridVidw添加CheckBox。并通过一个 CheckBox来控制其全选。
    全选按钮的使用。winfrom程序中,对全选按钮的理解,欢迎拍砖!
    Ul li 超出文本显示省略号JS右键控制 本人QQ:267307031 空间更多技术咨询
    FileUpload控件
  • 原文地址:https://www.cnblogs.com/qianxia/p/4887506.html
Copyright © 2011-2022 走看看