zoukankan      html  css  js  c++  java
  • 动手动脑整理2

    1、ClassAndObjectTest.java运行结果

     

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

    public class Hello{

    public static void main(String args[]){

    Foo obj1=new Foo();

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

    }

    }

    class Foo

    {int value=100;}

     

    当“==”施加于原始数据类型变量时,是比较变量所保存的数据是否相等;当“==”施加于引用类型变量时,是比较这两个变量是否引用同一对象;引用代表地址,所以“==”实际上相当于比较两个引用类型变量中保存的对象地址是否相同。

    3、Demo: ObjectEquals.java运行结果。

     

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

    public class Test{

    public static void main(String[] args){

    Foo obj1=new Foo();

    }

    }

    class Foo {

    int value;

    public  Foo(int initvalue){

    value =initvalue;

    }

    }

    Foo obj1=new Foo()在此处调用的时候没有参数

    5、使用上页幻灯片中定义的类,以下代码输出结果是什么?依据代码的输出结果,总结Java字段初始化的规律。

     

    1)执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。

    2)执行类的构造函数,当有多个构造函数时,要通过参数区分。

    6、当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。请自行编写示例代码验证以上结论。

    //当多个类之间有继承关系时,创建子类对象会导致

    //父类初始化块的执行。

    //黄星,2015,10,13

    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();

    }

    }

     

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

     

    (1)静态初始化块只执行一次。

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

    8、静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?请编写代码验证你的想法。

    9、神奇代码。

    public class StrangeIntegerBehavior 

    public static void main(String[] args)

    {

    Integer i1=100;

    Integer j1=100;

            System.out.println(i1==j1);

    Integer i2=129;

    Integer j2=129;        

    System.out.println(i2==j2);

        }

    }

     

    10、使用命令行运行示例:Hello.java

     

    package jxlPacakge;

    public class Hello

    {

    public static void main(String[] args) 

    {

    System.out.println("Hello World!");

    }

    }

    修改后

     

    11、按以下顺序阅读示例代码:

    1)反转一个字串(原型:Test1.java

    2)将其移为一个函数(Test2.java)

    3)创建一个类并将其移入一个包中(MyPackageClass.java

    5)在其它项目中使用此包(Test3.java

     

    12、命令示例

     

  • 相关阅读:
    SQL Server 2008中如何为XML字段建立索引
    比如取得一个div得innerHTML
    C#生成CHM文件(入门篇)
    jquery outerhtml
    WCF 中状态的保存
    MVC进阶学习HtmlHelper控件解析(一)
    MVC进阶学习HtmlHelper控件解析(四)
    MVC进阶学习HtmlHelper之GridView控件拓展(一)
    MVC进阶学习HtmlHelper控件解析(三)
    MVC进阶学习表单提交总结
  • 原文地址:https://www.cnblogs.com/iloveblog/p/4875875.html
Copyright © 2011-2022 走看看