LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1521|回复: 0

关于类和对象的问题[zt]

[复制链接]
发表于 2004-5-25 19:58:44 | 显示全部楼层 |阅读模式
由于java是面向对象的设计语言,所以对象和类的概念就显得尤为重要.举个例子来说吧.

public class Sample
{
public Sample()
   {
   }
   public static void main(String[] args)
   {
      Sample sample1 = new Sample();
}
}

别看这短段简短的代码,可它所蕴涵的知识是相当的丰富呢.我们一一来说:
1, 类Smaple,这是一个类名,用class来声明一个类,一定要明白,类是抽象的,所以我们得将它实例化.new

Sample() 这句是实例化一个对象,也就是说到此为止你拥有了一个活生生的Sample.祝贺祝贺!!!

2, 你一定要问了,既然有了Sample这个对象,那我们该如何访问呢?别着急,我们继续看,你用Sample来声明了一

个变量 sample,就是这句Sample sample,很多人都会理解成sample是一个对象,其实不然,sample 是一个指向刚

才你产生对象的一个引用指针.就好象,你用new Sample()吹了一个气球,用Sample sample那来一个绳子,将绳子

捆在气球上,这样你就可以通过sample来访问对象了.明白吗?

3, public Sample()是个构造函数,有点c++基础的人都会知道吧,为什么在这段代码里要写它呢?其实是没有必

要,因为无参数的构造函数是默认的,但是如果你定义了一个类似这样的构造函数public Sample(int x),那么写

上public Sample()就格外重要了.在有参数的构造函数存在的情况下,你没有写上无参数的构造函数时,而你又

调用了这个无参数的构造函数,那么将会产生一个编译错误.记住了吗?所以习惯的写上无参数的构造函数是蛮有

必要的.

4 下面要说一下static了,某个变量被声明为static,说明它是类所拥有的,就是说从这个类定义来的任何对象都

共享一个static变量.好象这样:
class STATIC
{
static int x = 10;
public STATIC()
{
}
}

public class A
{
public static void main(String[] args)
{
STATIC s1 = new STATIC();
STATIC s2 = new STATIC();
STATIC s3 = new STATIC();
s1.x = 15;
s2.x = 20;
System.out.println(s3.x);
}
}
那么输出的s3.x应该是几呢?理论上来讲是20,你们觉得呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表