Java入门 之 类和对象(二) - 对象
1. 类
1.1 类的一般形式
1.2 方法的重载(overloading)
2. 对象
2.1 对象的创建和使用
- 把对象a赋值给对象b,改变b的属性,a的属性也改变。说明这两个变量只向同一个对象。
package chap5; public class HumanDemo2 { public static void main(String[] args) { //创建两个对象 Human zs = new Human(); Human ls = new Human(); //对对象zs进行赋值 zs.name = "zhongsheng"; zs.sex = "male"; zs.age = 29; zs.addr = "Shanghai"; //把zs对象赋值给ls对象 ls = zs; //打印赋值后的结果 System.out.println("zs's name: "); System.out.println(zs.name); System.out.println("ls's name: "); System.out.println(ls.name); ls.name = "liushuang"; System.out.println("now ls's name: "); System.out.println(ls.name); System.out.println("now zs's name: "); System.out.println(zs.name); } }
2.2 构造函数
2.2.1 创建对象的语句为Human zs = new Human(); 实际上是调用了一个方法,不过这个方法是系统自带的方法,由于这个方法被用来构造对象,所以把它称为构造函数。
2.2.2 构造函数的作用是生成对象,并对对象的实例变量进行初始化。系统自带的默认构造函数把所有的数字变量设为0,把所有的boolean型变量设为false,把所有的对象变量都设为null。
// 类的完整定义 class Human{ //属性 String name; String sex: int age; String addr; //构造方法 public Human(){ age = 0; sex = null; addr = null; } // work 方法 void work(){ System.out.println("I am working"): } // eat 方法 void eat(){ System.out.println("I am eating"): } }
2.2.3 构造函数的主要作用是用来对对象的变量进行初始化。如果不想把他们都初始化为默认值,就需要自己编写构造函数,通过有参数的构造函数可以把值传递给对象的变量。
// Human类的完整定义如下 class Human{ String name; String sex; int age; String addr; public Human(String hName, String hSex, int hAge, String hAddr){ name = hName; sex = hSex; age = hAge; addr = hAddr; } void work(){ System.out.println("i am working"); } void eat(){ System.out.println("i am eating"); } }
// 创建对象(自己编写构造函数时) Human zs = new Human("zhongsheng", "male", 29, "Shanghai"); Human ls = new Human("liushuang", "female", "25", "Shanghai"); Human asu = new Human(); //该语句会报错
2.2.4 Java也提供了构造函数的重载,可以灵活的根据不同的需要利用不同的构造函数进行对象的创建。
2.2.5 通过this关键字,在构造函数中调用其他的构造函数
package chap5; class Human2{ String name; String sex; int age; String addr; public Human2() { name = null; age = 0; sex = null; addr = null; } public Human2(String hName, String hSex) { name = hName; sex = hSex; System.out.println("the 2nd constructor has been called"); } public Human2(String hName, String hSex, int hAge, String hAddr) { this(hName, hSex); //通过this关键字调用了第二个构造函数 age = hAge; addr = hAddr; System.out.println("the 3rd constructor has been called"); } void work() { System.out.println("i am working"); } void eat() { System.out.println("i am eating"); } } public class HumanDemo3 { public static void main(String[] args) { Human2 zs = new Human2("zhongsheng", "male", 29, "Shanghai"); System.out.println("zs's information: "); System.out.println("name: " + zs.name + "\nsex: " + zs.sex + "\nage: " + zs.age + "\naddr: " + zs.addr); } }
3. 关键字 static
3.1 静态变量
3.2 静态方法
3.3 静态常量
4. 参数传递
4.1 基本类型的参数传递
4.2 对象类型的参数传递
5. 包
5.1 包的使用
5.2 导入包
5.3 在Eclipse中使用包
6. 小结
posted on 2017-11-26 15:47 你的踏板车要滑向哪里 阅读(163) 评论(0) 编辑 收藏 举报