0基础java入门:第二十六节.面向对象代码演示 类与对象在代码中的关系。

0基础java入门:第二十六节.面向对象代码演示。

本节课程只是用来理解,对象与类在代码中的体现和关系。

尽量新建一个项目如下图结构

完整代码演示

1.创建一个类 : Teacher 

package com.test.demo1;
// 本类 描述 教师的特性  没有书写主函数所以这个类不能执行
public class Teacher {
	// 成员变量
	String name;// 教师姓名
	int teacherAge;// 教龄
	boolean sex;// 教师性别  布尔类型  true表示女  false 表示男
	double salary;// 教师薪资
	String subject;// 教师科目
	// 成员方法
	// 讲课方法  h参数表示每天授课时间
	public void toTeach(int h){
		System.out.println(name+"老师每天讲课"+h+"小时");
	}
	// 检查作业
	public void checkTheHomework(int c){
		System.out.println(name+"老师每天检查"+c+"份作业");
	}
}

2.通过类生成对象: 创建Test1类 在类中添加主函数 演示对象的使用。

package com.test.demo1;
// Test类中添加主函数 用来 通过 Teacher类  实例化对象 演示对象和类的使用
public class Test1 {
	// 添加了主函数 这个类是可以执行的类
	public static void main(String[] args) {
		// 通过Teacher类实例化对象 tea1
		Teacher tea1 = new Teacher(); // 这行代码叫做实例化对象 语法: 类名  对象名 = new 类名();
		// 直接输出 对象 tea1
		System.out.println(tea1); // 这里直接输出对象 会显示 目前对象的地址   
		// 输出tea1对象中的属性
		System.out.println(tea1.name); //String 类型默认值 null
		System.out.println(tea1.teacherAge);// int类型 默认值 0
		System.out.println(tea1.sex);// boolean类型默认值 fasle
		System.out.println(tea1.salary); // double 类型默认值 0.0
		System.out.println(tea1.subject); // String类型 默认值 null
		//===============================================
		// 给 tea1 对象的属性赋值
		tea1.name = "张三"; 
		tea1.teacherAge = 10;
		tea1.sex = true;
		tea1.salary = 100000;
		tea1.subject = "语文";
		// 赋值后再次输出 tea1 对象的属性
		System.out.println(tea1.name); 
		System.out.println(tea1.teacherAge);
		System.out.println(tea1.sex);
		System.out.println(tea1.salary);
		System.out.println(tea1.subject); 
		//===============================================
		// 调用 tea1 对象中的方法
		tea1.toTeach(4); // 讲课方法
		tea1.checkTheHomework(100); // 检查作业方法
	}

}

3.运行结果

类与对象调用关系图解

实例化对象详解

对象的实例化可以理解为是通过一个图纸制作出一个产品。类就是我们的图纸,图纸中规定对象可以使用的属性和方法。对象就是通过类图纸生产的产品。每一个产品都符合类提供的标准。一个类可以实力多个对象。就像通过一个图纸可以可以做出多个产品。

实例化对象的基础语法: 类名 对象名 = new 类名(); 

代码演示:在包下新建类 Test2 添加主函数完成以下操作

// 这里我们就说 通过Teacher类 实例化了对象  tea1 ,tea1是Teacher类的一个对象。 
Teacher tea1 = new Teacher();
// 实例化对象 tea2
Teacher tea2 = new Teacher();
// 实例化对象 tea3
Teacher tea3 = new Teacher();

对象属性使用详解

实例化对象之后, 就可以通过对象调用 类中规定的 属性和方法。只能调用类中已经书写规定好的,没有的属性和方法时不能调用的。

对象实例化之后是所有规定的属性都是使用默认值的。下边我们直接输出一个实例化对象后的属性查看结果。

使用对象中属性的语法: 对象名.属性名

代码演示:

package com.test.demo1;
// Test类中添加主函数 用来 通过 Teacher类  实例化对象 演示对象和类的使用
public class Test2 {
	public static void main(String[] args) {
		// 通过Teacher类实例化对象 tea1
		Teacher tea1 = new Teacher(); // 这行代码叫做实例化对象 语法: 类名  对象名 = new 类名();
		// 实例化后输出 tea1 对象的属性
		System.out.println(tea1.name); 
		System.out.println(tea1.teacherAge);
		System.out.println(tea1.sex);
		System.out.println(tea1.salary);
		System.out.println(tea1.subject); 
	}
}

运行结果:

分析一波: 代码中tea1对象实例化之后。我们直接输出了这个对象的所有属性。这时对象中的所有属性都是默认值状态,因为我们在类中定义变量时并没有赋值。所以这里使用默认值。

给对象属性赋值的语法 : 对象名.属性名 = 值;

之后我们修改代码 在输出 属性之前,给每一属性赋值。

代码演示:

package com.test.demo1;
// Test类中添加主函数 用来 通过 Teacher类  实例化对象 演示对象和类的使用
public class Test2 {
	public static void main(String[] args) {
		// 通过Teacher类实例化对象 tea1
		Teacher tea1 = new Teacher(); // 这行代码叫做实例化对象 语法: 类名  对象名 = new 类名();
		// 给 tea1 对象的属性赋值
		tea1.name = "张三"; 
		tea1.teacherAge = 10;
		tea1.sex = true;
		tea1.salary = 100000;
		tea1.subject = "语文";
		// 赋值后再次输出 tea1 对象的属性
		System.out.println(tea1.name); 
		System.out.println(tea1.teacherAge);
		System.out.println(tea1.sex);
		System.out.println(tea1.salary);
		System.out.println(tea1.subject); 
	}
}

运行结果:

分析一波:代码中对象实例化之后,通过赋值 之后在输出的就不是默认值,而是我们代码中给定的值了。

对象方法调用详解

通过对象调用方法的语法:  对象名.方法名(参数); 这里的参数是根据规定填写的可能没有也可能时是多个。如果方法有返回值可以定义变量接收返回值。

代码演示:在包下新建类 Test3 添加主函数完成以下操作

package com.test.demo1;
// Test类中添加主函数 用来 通过 Teacher类  实例化对象 演示对象和类的使用
public class Test3 {
	public static void main(String[] args) {
		// 通过Teacher类实例化对象 tea1
		Teacher tea1 = new Teacher(); // 这行代码叫做实例化对象 语法: 类名  对象名 = new 类名();
        // 给 tea1对象的 name属性赋值
		tea1.name = "张三";
		// 调用方法 讲课
		tea1.toTeach(4); // 讲课方法
		// 调用方法 检查作业
		tea1.checkTheHomework(100); // 检查作业方法
	}
}

运行结果:

分析一波:代码中通过tea1对象分别调用了toTeach方法和 checkTheHomework 方法。这里注意方法还是Teacher类型中书写的方法。方法的参数和返回值都是类中规定好的。参数和返回值的使用,和之前我们学习的方法是一样的。

类与对象关系代码演示

我们在上一节课中说过 :一个类是可以有多个对象的,每个对象都是相互独立的;这句话代码中有什么体现呢我们来看以下

代码演示:

package com.test.demo1;
// Test类中添加主函数 用来 通过 Teacher类  实例化对象 演示对象和类的使用
public class Test1 {
	public static void main(String[] args) {
		// 通过Teacher类实例化对象 tea1
		Teacher tea1 = new Teacher(); // 这行代码叫做实例化对象 语法: 类名  对象名 = new 类名();
		// 给 tea1对象的 name属性赋值
		tea1.name = "张三";
		// 输出tea1 对象的 name属性
		System.out.println(tea1.name);
		// 通过tea1 调用方法 讲课
		tea1.toTeach(4); // 讲课方法
		
		System.out.println("--------");
		
		// 通过Teacher类实例化对象 tea2
		Teacher tea2 = new Teacher(); // 这行代码叫做实例化对象 语法: 类名  对象名 = new 类名();
		// 输出 tea2 的name属性
		System.out.println(tea2.name);
		// 通过tea1 调用方法 讲课
		tea2.toTeach(4); // 讲课方法
	}
}

运行结果:

分析一波:代码中我们先实例化了tae1 ,对象的name赋值为 “张三”。之后输出调用方法中的name值都是张三。第二个实例化的对象tea2没有赋值,直接输出了name和调用方法。这时tea2的name值还是 null 默认值。也就是说我们对 tea1 的操作并没有对 tea2 造成影响。每个对象都是相互独立的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值