/**
* @(#)ObjectClass001.java
*
*
* @author
* @version 1.00 2010/2/21
*/
class Person
{
//姓名
String name ;
//年龄
int age ;
//婚姻
boolean marriage ;
}
public class ObjectClass
{
public static void main(String args[])
{
/*
*在方法中声明对象,必须赋值。
*下面的Person cl001 = new Person() ;
*在java1.4及其以下版本则要写成两句话:
* Person cl001 = null ;
* cl001 = new Person() ;
*/
Person cl001 = new Person() ;
cl001.name = "陈亮" ;
cl001.age = 30 ;
cl001.marriage = true ;
System.out.println("cl001姓名:"+cl001.name) ;
System.out.println("cl001年龄:"+cl001.age) ;
System.out.println("cl002婚姻:"+cl001.marriage) ;
Person cl002 = new Person() ;
System.out.println("cl002姓名:"+cl002.name) ;
System.out.println("cl002年龄:"+cl002.age) ;
System.out.println("cl002婚姻:"+cl002.marriage) ;
}
}
运行结果:
##############################################################
--------------------Configuration: <Default>--------------------
cl001姓名:陈亮
cl001年龄:30
cl002婚姻:true
cl002姓名:null
cl002年龄:0
cl002婚姻:false
Process completed.
████████████████████████████████████████
/**
* @(#)ObjectClass002.java
*
*
* @author
* @version 1.00 2010/2/21
*/
class Person
{
//姓名
String name ;
//年龄
int age ;
//婚姻
boolean marriage ;
}
public class ObjectClass002
{
public static void main(String args[])
{
/*
*在方法中声明对象,必须赋值。
*下面的Person cl001 = new Person() ;
*在java1.4及其以下版本则要写成两句话:
* Person cl001 = null ;
* cl001 = new Person() ;
*/
//Person cl001 = new Person() ;
Person cl001 = null ;
cl001 = new Person() ;
cl001.name = "陈亮" ;
cl001.age = 30 ;
cl001.marriage = true ;
System.out.println("cl001姓名:"+cl001.name) ;
System.out.println("cl001年龄:"+cl001.age) ;
System.out.println("cl002婚姻:"+cl001.marriage) ;
System.out.println("######################################") ;
Person cl002 = new Person() ;
//cl002 = cl001 ;这语句是将cl002和cl001的栈都指向cl001的堆内容。会互相修改影响!
cl002 = cl001 ;
cl002.age = 888 ;
System.out.println("cl001姓名:"+cl001.name) ;
System.out.println("cl001年龄:"+cl001.age) ;
System.out.println("cl002婚姻:"+cl001.marriage) ;
System.out.println("cl002姓名:"+cl002.name) ;
System.out.println("cl002年龄:"+cl002.age) ;
System.out.println("cl002婚姻:"+cl002.marriage) ;
System.out.println("######################################") ;
cl001.marriage = false;
System.out.println("cl001姓名:"+cl001.name) ;
System.out.println("cl001年龄:"+cl001.age) ;
System.out.println("cl002婚姻:"+cl001.marriage) ;
System.out.println("cl002姓名:"+cl002.name) ;
System.out.println("cl002年龄:"+cl002.age) ;
System.out.println("cl002婚姻:"+cl002.marriage) ;
}
}
############################################################################
运行结果:
--------------------Configuration: <Default>--------------------
cl001姓名:陈亮
cl001年龄:30
cl002婚姻:true
######################################
cl001姓名:陈亮
cl001年龄:888
cl002婚姻:true
cl002姓名:陈亮
cl002年龄:888
cl002婚姻:true
######################################
cl001姓名:陈亮
cl001年龄:888
cl002婚姻:false
cl002姓名:陈亮
cl002年龄:888
cl002婚姻:false
Process completed.
████████████████████████████████████████
/**
* @(#)ObjectClass003.java
*
*
* @author
* @version 1.00 2010/2/21
*/
class Person
{
//姓名
String name ;
//年龄
int age ;
//婚姻
boolean marriage ;
}
public class ObjectClass003
{
public static void main(String args[])
{
/*
*在方法中声明对象,必须赋值。
*下面的Person cl001 = new Person() ;
*在java1.4及其以下版本则要写成两句话:
* Person cl001 = null ;
* cl001 = new Person() ;
*/
//Person cl001 = new Person() ;
Person cl001 = null ;
cl001 = new Person() ;
cl001.name = "陈亮" ;
cl001.age = 30 ;
cl001.marriage = true ;
System.out.println("cl001姓名:"+cl001.name) ;
System.out.println("cl001年龄:"+cl001.age) ;
System.out.println("cl002婚姻:"+cl001.marriage) ;
System.out.println("######################################") ;
Person cl002 = new Person() ;
//要想cl002的改变不影响到cl001的内容。
//就不能写成 cl002 = cl001 ;
//我目前想到的办法就是写成下面的样子
cl002.name = cl001.name ;
cl002.age = cl001.age ;
cl002.marriage = cl001.marriage ;
cl002.age = 888 ;
System.out.println("cl001姓名:"+cl001.name) ;
System.out.println("cl001年龄:"+cl001.age) ;
System.out.println("cl002婚姻:"+cl001.marriage) ;
System.out.println("cl002姓名:"+cl002.name) ;
System.out.println("cl002年龄:"+cl002.age) ;
System.out.println("cl002婚姻:"+cl002.marriage) ;
System.out.println("######################################") ;
cl001.marriage = false;
System.out.println("cl001姓名:"+cl001.name) ;
System.out.println("cl001年龄:"+cl001.age) ;
System.out.println("cl002婚姻:"+cl001.marriage) ;
System.out.println("cl002姓名:"+cl002.name) ;
System.out.println("cl002年龄:"+cl002.age) ;
System.out.println("cl002婚姻:"+cl002.marriage) ;
}
}
############################################################################
运行结果:
--------------------Configuration: <Default>--------------------
cl001姓名:陈亮
cl001年龄:30
cl002婚姻:true
######################################
cl001姓名:陈亮
cl001年龄:30
cl002婚姻:true
cl002姓名:陈亮
cl002年龄:888
cl002婚姻:true
######################################
cl001姓名:陈亮
cl001年龄:30
cl002婚姻:false
cl002姓名:陈亮
cl002年龄:888
cl002婚姻:true
Process completed.
████████████████████████████████████████