《类与对象》总结
?
目标:
?????? 1.掌握类、实例化对象和调用方法(函数)的格式。
?????? 2.掌握生活中类与对象转换为程序中的类与对象。
面向对象编程中的概念:
?????? 所有的概念都是源自于生活中的内容。
?
?????? 面向对象编程实际就是模拟现实生活。
?
?????? 对象:作为基础和核心内容。
?????? 类:作为一个基本的单位存在的(就是一种数据类型)。
1、生活中有哪些物体或者事物是对象?
对象:是具体的一个物体或事物(一定是“具体”,对比意义下是独一无二的)
例子:我的电脑
特征:也叫属性。颜色,配置,尺寸,品牌,型号,重量等
方法:也叫行为,功能,用途。上网,听歌,看电影,写作业等
2、类的组成
?????? 怎样对对象进行分类呢?
?????? 程序中类是怎样呢?
????????????? 1.属性?? 2.方法
3.类的基本格式
//创建类
public class类名{
//创建属性
private 数据类型属性名;
//创建方法
public 方法名(数据类型,参数名…){
}
}
4.实例化对象和调用方法的格式
?????? 实例化对象的关键字是:new
?????? 格式:
?????? 类名对象名 = new 类名();
?????? Student abc = new Student();
?
?????? 调用方法和属性的格式:
????????????? 对象名.方法名(参数值,...);
????????????? 对象名.属性
????????????? abc.setName("小明");
????????????? String name = abc.getName();
????????????? abc.test("高数");
?
练习:小明去考高数。
分析:
对象:小明,高数
小明
属性:姓名
方法:考试(高数)
高数
属性:课程名称
代码:
//创建一个名为学生的类public class Student{ public static void main(String [] args){ //实例化对象 Student abc = new Student(); //调用属性 abc.setName("小明"); abc.getName(); //调用方法 String name = abc.getName(); abc.test("高数"); } //创建姓名属性 private String name; //定义setName方法 public void setName(String name){ this.name=name; } //定义getName方法 public String getName(){ return name; } //创建考试方法 public void test(String kc){ System.out.println(name+"去考"+kc); } }
?
?
?
?
5.对象是否可以作为参数呢?
可以,可以把对象作为参数进行传递,此时的传递为引用传递,传递的是参数的地址。
类与对象2
目标:
?????? 1.掌握构造方法、重载、this、值传递和引用传递的格式和用途。
?????? 2.能灵活的使用引用传递。
?
类是由两个部分组成:1.属性?? 2.方法
?????? 方法分为哪几类?
?????? 1.普通方法(表示的是对象的行为)
?????? 2.构造方法(用来实例化对象)
1.构造方法
格式:
public类名(数据类型参数名,。。。){
?????? //方法体
}
区别:
1、名字不同(构造方法的名字必须和类名一致)
2、返回只类型不同(构造方法不需要返回值,可以理解为返回的就是该类的一个对象)
3、作用不同(构造方法作用是对对象进行实例化,普通方法表示得是对象的行为)
?
类名对象名 =? new 构造方法();
?????? 用途:
????????????? 1.实例化对象
????????????? 2.给属性设置初始值
2.方法重载
?????? 2.1实现方法重载的条件:
????????????? 1.方法名字要相同
????????????? 2.方法所带的参数个数,参数类型和参数顺序至少要有一个不同。
2.2如何调用
程序按照输入的参数来判断调用哪个方法的
?????? 2.3什么情况下要使用呢?
举例说明:学习方法有多种
????????????? 构造方法为什么要使用方法重载
3.this关键字
this关键字只能调用当前类中的属性和方法
用途:
1.用来区分属性名和参数名(前提是属性名和参数名相同)
2.调用构造方法
?
this关键字表示当前调用方法的对象。
4.值传递
?????? 值传递适用于Java的什么数据类型?
????????????? Java的基本数据类型(8个)+String类型。
?
?????? 值传递的方式是怎么样的?
方法调用时,实际参数把它的值传递给对应的形式参数,方法执行中形式参数值的改变不影响实际参数的值。
?
5.引用传递
?????? 引用传递适用于java的什么数据类型?
????????????? 引用类型(类,接口,抽象类和数组),也可以叫做对象类型,类类型,...
?
?????? 引用传递的方式是怎么样的?
?????? 也称为传地址。方法调用时,实际参数的引用(地址,而不是参数的值)被传递给方法中相对应的形式参数,在方法执行中,对形式参数的操作实际上就是对实际参数的操作,方法执行中形式参数值的改变将会影响实际参数的值。