zoukankan      html  css  js  c++  java
  • 深刻理解Java编程的7个例子

    深刻理解Java编程的7个例子   佟强 2009年11月7日 http://blog.csdn.net/microtong

     1. 阅读下列代码回答问题(第一个Java程序,理解PATH和CLASSPATH,学会使用javac和java命令)

    问:

    (1)上面代码所在的源文件的文件名是_______________?
    (2)在DOS提示符下,当前目录为该源文件所在的目录,PATH环境变量已包含编译程序所在的路径,编译目标路径为“D:/classes”,编译命令行是_____________?
    (3)为了让Java解释器能够找到编译后的类文件,需要如何设置环境变量___________?
    (4)在正确设置了相关的环境变量之后,运行HelloWorld类的命令行是____________?


    答案:

    (1)HelloWorld.java,公共类必须定义在和类名同名的文件中,文件名区分大小写。

    (2)javac -d D:/classes HelloWorld.java ,-d给出输出目录,javac会在D:/classes创建包的目录层次结构cn/edu/uibe/HelloWorld.class

    (3)set CLASSPATH=.;D:/classses,CLASSSPATH给出Java寻找.class文件的多个路径,路径之间用分号分隔,“.”表示当前路径。

    (4)java cn.edu.uibe.HelloWorld,注意需要给出包名,类名后面不要加“.class”。

    2. 阅读下列代码回答问题(关于private的理解)

    问:上面代码Java编译器是否会给出错误提示?为什么?

    答案:不会出现错误提示,private限制了私有变量只能被同一个类访问,但是没有限制同一个类的不同对象之间互相访问私有变量。实际上,private是在编译时进行检查,如果想限制同类对象之间互相访问,需要在动态运行时实现,开销较大,而且没有必要。

    3. 阅读下列代码回答问题(关于多态性的理解)

    问: 写出上面代码的输出?

    答案:参见代码注释,子类和父类中定义同名的变量时,仅仅是隐藏了,变量没有多态性;而对于覆盖的方法,Java表现出多态性,

    会调用更具体的子类里面的方法,无论从哪里调用,无论使用什么引用类型调用。

    4.阅读下列代码回答问题(关于匿名内部类的理解)

    问:请解释语句
    b.f(new A() {
        public void f() {
        }
    });
    的含义与作用。

    答案:

       这个语句在参数表中定义了一个匿名内部类,这个匿名内部类实现了接口A,实例化了一个匿名内部类的对象,并将这个对象传递给了接收接口A作为参数的方法f(A a)。需要注意的是接口A中的方法f()和类B中的方法f(A a)没有任何关系,是不同的方法。


    5. 阅读下列代码回答问题(关于static的理解)

    问:写出上面代码的输出。

    答案: 2 1 2 1,i是静态变量,类的所有实例共享同一个i,通常我们不通过引用变量访问静态变量,而是通过类名访问Static.i,注意Static是我们自己定义的类名,而小写的static是关键字,表示静态的,为类的所有实例共享的变量或方法。j是实例变量,每个对象具有不同的,属于其自身的一个变量j。

    6. 阅读下列代码回答问题(关于引用变量的理解)

    问:上面代码输出是?

    答案:参考代码注释,输出应该是:0 1 0

    7. 阅读下列代码回答问题(关于异常的理解)

    问:上面代码输出是?

    答案:输出是:1 3 0 参数不能为负数! 无论什么时候!

    try语句块里面的一行代码抛出了异常,后续代码就不再执行了,而是转到catch开始匹配异常类型。finally语句块里面的代码始终会被执行,即使在catch语句块里面有行return语句也不会立即返回,Java确保finally语句块执行完函数才会返回。

      

    《Java程序设计课件》 http://sit.uibe.edu.cn/java

  • 相关阅读:
    js用currentStyle和getComputedStyle获取css样式(非行间)
    XMLHttpRequest Level 2 使用指南
    image-set实现Retina屏幕下图片显示[转载]
    Png的秘密
    css清除&闭合浮动
    2016学习计划
    提高性能及操作硬件的能力
    新兵易学,老兵易用----C++(C++11的学习整理---如何减少代码量,加强代码的可读性)
    CV限制符--C++
    能ping通网络,也正常连接,就是打不开网页,无法访问网络
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6168074.html
Copyright © 2011-2022 走看看