易截截图软件、单文件、免安装、纯绿色、仅160KB

每个Java初学者都应该搞懂的六个问题 [Java]

  对于这个系列里的问题,每个学Java的人都应该搞懂。当然,如果只是学Java玩玩就无所谓了。如果你认为自己已经超越初学者了,却不很懂这些问题,请将你自己重归初学者行列。内容均来自于CSDN的经典老贴。
  问题一:我声明了什么!
 
String s = "Hello world!";
  许多人都做过这样的事情,但是,我们到底声明了什么?回答通常是:一个String,内容是“Hello world!”。这样模糊的回答通常是概念不清的根源。如果要准确的回答,一半的人大概会回答错误。

个语句声明的是一个指向对象的引用,名为“s”,可以指向类型为String的任何对象,目前指向"Hello
world!"这个String类型的对象。这就是真正发生的事情。我们并没有声明一个String对象,我们只是声明了一个只能指向String对象的
引用变量。所以,如果在刚才那句语句后面,如果再运行一句:
String string = s;
  我们是声明了另外一个只能指向String对象的引用,名为string,并没有第二个对象产生,string还是指向原来那个对象,也就是,和s指向同一个对象。
     只声明未赋值的String 为 null;不能使用,会造成NullPointerException
String String = "";
     的值不为null,而是一个char[0]的数组<String的实质就是一个字符数组char[int value]>
  问题二:"=="和equals方法究竟有什么区别?
  ==操作符专门用来比较变量的值是否相等。比较好理解的一点是:
int a=10;
int b=10;
  则a==b将是true。
  但不好理解的地方是:
String a=new String("foo");
String b=new String("foo");
  则a==b将返回false。
  根据前一帖说过,对象变量其实是一个引用,它们的值是指向对象所在的内存地址,而不是对象本身。a和b都使用了new操作符,意味着将在内存中
产生两个内容为"foo"的字符串,既然是“两个”,它们自然位于不同的内存地址。a和b的值其实是两个不同的内存地址的值,所以使用"=="操作符,结
果会是false。诚然,a和b所指的对象,它们的内容都是"foo",应该是“相等”,但是==操作符并不涉及到对象内容的比较。
  对象内容的比较,正是equals方法做的事。
  看一下Object对象的equals方法是如何实现的:
boolean equals(Object o){
re


相关文档:

使用Java反射机制得到类的结构信息

使用Java反射机制得到类的结构信息
关键字: java反射 类的结构
使用Java反射机制得到类的结构信息
代码如下:
Java代码
package com.youdao.wm;   
  
import java.lang.reflect.Constructor;   
import java.lang.reflect.Field;   
import jav ......

think in java ch6

-------------------------------------------------
本教程由yyc,spirit整理
------------------------------------------------- 第6章 类再生
“Java引人注目的一项特性是代码的重复使用或者再生。但最具革命意义的是,除代码的复制和修改以外,我们还能做多得多的其他事情。”
在象C那样的 ......

JAVA中方法和变量在继承中的覆盖和隐藏

http://renyanwei.javaeye.com/blog/258304
我们知道,在JAVA中,子类可以继承父类,如果子类声明的方法与父类有重名的情况怎么办,大伙儿都知道要是重写,但是实际上这又分为两种情况,就是方法和变量在继承时的覆盖和隐藏问题,这些概念性的东西看似无聊,但是在面试或者是SCJP认证题中围绕这些是会经常碰到的,所以这里 ......

Java基础:第二十三讲 面向对象概述

之前介绍了Java的语法基础,接下来介绍面向对象的相关思想和概念。
本部分包含的主要内容包括:
1、类与对象,主要介绍类和对象之间的关系。
2、现实世界中的对象与软件系统中的对象,介绍如何从现实世界中的对象抽象出软件系统中的对象。
3、软件系统中的对象和类之间的关系,如何根据软件对象抽象出类。
4、类的定义 ......

数组排序汇总 [Java]


 
package sort;

import java.util.Random;

/**
* 排序测试类
*
* 排序算法的分类如下: 1.插入排序(直接插入排序、折半插入排序、希尔排序); 2.交换排序(冒泡泡排序、快速排序);
* 3.选择排序(直接选择排序、堆排序); 4.归并排序; 5.基数排序。
*
* 关于排序 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号