`
CobWeb
  • 浏览: 40826 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Java中的几个基本问题

阅读更多
第一个: finally中的代码会执行吗?
package com.jbbis.test;

public class Test {

    public static void main(String[] args) {
try {
    //return;          finally中代码在return前执行
    //System.exit(0);  finally中的代码不执行
    //System.exit(10); finally中的代码不执行
               //(System.exit(非0)都是不执行的 ^_^)
} catch (Exception e) {
    // TODO: handle exception
} finally {
    System.out.println("i love u");
}
    }
}

第二个:final的值改变了?
package com.jbbis.test;

class Car {
    public final String temp;
    /**
    * 如果是:1) public static final String temp;
    * 2) pubblic final String temp = null 或 ""
    * 下面的代码会报错的 ^_^
    *
    * 注意:如果不是的话下面的代码是对的
     */
   public final int i ;
   public Car(String s,int j) {
temp = s;
i = j;
    }
}
public class Test {
     public static float te;
     public static void main(String[] args) {
         Car car = new Car("i love u" ,1);
         System.out.println(car.temp + "***" + car.i);
         car = new Car("me too" ,2);
         System.out.println(car.temp + "***" + car.i);
         System.out.println(te);
     }
}

第三个:单态模式
/**
* 这是一个简单的恶汉式单态模式
*/
class Single {
private static final Single single = new Single();

private Single() {
}

public static Single getInstance() {
return single;
}

public void sayHello() {
System.out.println("i love u sayHello() ..........");
}
}

class Car {
public Car() {
}

int i = 0;

public void run(String temp) {
System.out.println("汽车跑起来了......" + i++ + "....." + temp);
}
}

public class SingleTest {
public SingleTest() {
}

public static void main(String[] args) {
// 第一段
Single single = Single.getInstance();
single.sayHello();
// 此处虽然表面上是重新得到一个对象,但是实际上是一个对象
Single single1 = Single.getInstance();
if (single == single1) {
    System.out.println("single============");
}
if (single.equals(single1)) {
     System.out.println"equals...single.........");
}
// 第二段
Car car = new Car();
car.run("car");
Car car1 = new Car();
car1.run("car1");
         // 因为不是单态的并且都是重新new出来的,所以这时两个对象是不相等的
if (car == car1) {
System.out.println("Car  1 ==");
}
if (car.equals(car1)) {
System.out.println("equals...Car  1 ....");
}
// 第三段
// 这个是给一个对象赋值,所以对象是相等的 ^_^
Car car2 = car;
car2.run("car2");
if (car == car2) {
System.out.println("Car  2============");
}
if (car.equals(car2)) {
System.out.println("equals...Car 2....");
}
}
}
分享到:
评论

相关推荐

    关于Java的几个经典问题

    到底创建了几个String对象(三)——变量(属性)的覆盖 (四)——final、finally和finalize的区别 (五)——传了值还是传了引用(六)——字符串(String)杂谈 (七)——日期和时间的处理 (八)——聊聊基本...

    Java教学中应注意的几个基本知识点.pdf

    "Java教学中应注意的几个基本知识点" 本文根据作者多年教学Java的经验,针对多种教材中某些Java专业知识表述不详尽的现象,结合作者教学体会对相关的知识点进行了必要的归纳和整理,进行了新的论述,并供同行参考。...

    java程序代码不能运行的几个基本原因

    这包括但不限于以下几个方面: 1. **Java版本不兼容**:不同的Java项目可能依赖于不同版本的JDK(Java Development Kit)。如果当前系统的JDK版本与项目需求不符,则可能导致程序无法正常启动。 2. **环境变量设置...

    学习Java必须弄懂的几个问题

    以下是我从"学习Java必须弄懂的几个问题"这个主题中提炼出的一些重要知识点: 1. **Java基础语法**:Java是一种面向对象的语言,理解其基本语法结构至关重要。包括数据类型(如整型、浮点型、字符型和布尔型)、...

    Java API文档 中文网页版

    在使用Java API文档时,开发者通常会关注以下几个方面: 1. 类(Class):了解类的职责、构造器、属性和方法。 2. 接口(Interface):查看接口定义的方法,了解其作用和实现方式。 3. 方法(Method):理解方法的...

    JAVA学习基本路线

    具体的学习内容可以分为以下几个方面: 1. **Java基础**: 学习Java的基本语法、数据类型、控制结构、运算符等内容。 2. **面向对象编程**: 理解类与对象的概念、继承与多态的实现机制、封装性与抽象性的应用。 3. *...

    JAVA中AWT的几个实例

    这个压缩包文件包含了几个关于AWT的实际应用示例,对于初学者来说是非常有价值的参考资料。 首先,我们要理解AWT的基础概念。AWT是基于原生操作系统API的,这意味着它的组件在不同的操作系统上可能会有不同的表现。...

    几个经典的Java程序

    在本节中,我们将通过几个经典的Java程序,来探索Java的编程基础知识。 1. Java类和对象 在Java中,类(Class)是一种-blueprint,用于描述对象的特征和行为。对象(Object)是类的实例,拥有类所定义的特征和行为...

    java的几个命令行参数

    Java 命令行参数中最基本的参数是运行 Class 文件。使用 Java 命令行参数可以执行带 main 方法的 Class 文件。基本语法为:java 文件名>,其中 CLASS 文件名不带文件后缀。例如,要执行 Test.class 文件,只需输入:...

    学习java开发应该了解的几个常用的基本核心类库

    以下将详细讲解几个在Java开发中不可或缺的基础核心类库。 1. **Java.lang**: 这是Java中最基础的包,它包含了一些最核心的类,比如`String`、`Integer`、`System`、`Math`等。`String`类用于处理文本字符串,`...

    JAVA几个常见错误简析

    《JAVA几个常见错误简析》 在Java编程中,错误处理是开发者必须面对的重要环节。本文主要分析了Java中常见的空指针异常(NullPointerException),这是许多初学者和经验丰富的开发者都可能遇到的问题。了解这些错误...

    几个很不错的Java游戏源代码

    这些"几个很不错的Java游戏源代码"提供了一次深入理解Java编程、游戏逻辑以及核心Java知识的绝佳机会。下面,我们将详细探讨这些游戏源代码所涵盖的知识点。 首先,"3d坦克游戏"是一个展示Java 3D图形编程能力的...

    疯狂Java:突破程序员基本功的16课PDF

    本书的核心知识点可以分为以下几个部分: 1. **Java语言基础**:首先,书中会讲解Java语言的基础语法,包括数据类型、变量、运算符、流程控制(如if语句、for循环和while循环)、方法定义与调用等。这是学习任何...

    几个有意思的JAVA小动画程序

    对于初学者来说,通过学习这些小动画程序,你可以了解到以下几个重要的Java知识点: 1. **Java基础**:这包括变量、数据类型、控制结构(如if语句、循环)、函数和类等基本概念。这些都是编写任何Java程序的基础。 ...

    java中二维码打印问题

    - **打印机驱动**:在Java Web应用中,你需要一个兼容的打印机驱动程序来与硬件交互。通常,这可以通过Java的`javax.print`包实现,该包提供了基本的打印服务API。 - **打印服务**:获取打印机服务,并设置打印...

    java中四个核心思想

    Java class文件具有以下几个特点: - **可移植性**:Java字节码是平台无关的,这意味着同一个`.class`文件可以在不同的操作系统上运行。 - **结构化**:Java class文件具有严格的结构定义,方便JVM解析和执行。 - *...

    几个简单的java小程序

    "几个简单的java小程序"这个标题暗示了我们将会看到一系列小型的Java应用程序,这些程序可能涵盖基础到进阶的编程概念。这些小程序可能是为了教学或测试目的,通过它们,我们可以深入理解Java编程的核心概念。 首先...

    Java API中文手册

    在Java API中,主要包含了以下几个核心部分: 1. **基础类库**:这是Java API的核心,包括了`java.lang`、`java.io`、`java.util`等包。`java.lang`包是最基本的包,包含所有Java程序都必须使用的类,如`Object`、`...

    JAVA 编程常见问题

    ### JAVA 编程常见问题详解 ...以上是 Java 编程中常见的几个问题及解决方案。理解和掌握这些基础知识对于编写高效、可靠的 Java 应用程序至关重要。通过不断实践和学习,你将能够更加熟练地应对各种编程挑战。

Global site tag (gtag.js) - Google Analytics