第六章:面向对象

对象---类



面向对象思想概述 :面向对象是基于面向过程的编程思想
面向对象思想特点:
1 .可以将复杂的事情简单化
2. 将我们从执行者变成了指挥者
3. 角色发生了转换
面向对象开发 :不断的创建对象,使用对象,指挥对象做事情。
面向对象设计 :管理和维护对象之间的关系。
面向对象特征
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
是一组相关的属性和行为的集合
对象 :是该类事物的具体表现形式
现实世界的事物
属性 人的身高,体重等
行为 人可以学习,吃饭等
类的定义:现实世界的事物
属性 人的身高,体重等
行为 人可以学习,吃饭等

Java中用class描述事物也是如此
成员变量 就是事物的属性
成员方法 就是事物的行为
定义类其实就是定义类的成员(成员变量和成员方法)
成员变量和局部变量的区别
在类中的位置不同
成员变量 类中方法外
局部变量 方法体中
在内存中的位置不同
初始化值不同
成员变量 有默认的初始化值
局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。


面向对象开发的步骤:
l 开发类,类 = 属性(成员变量) + 方法
l 通过 new 关键字创建对象
l 使用类中的属性和方法: 对象 . 属性名 对象 . 方法名 ()


注意:
方法中定义变量称为局部变量。
如果没有返回值,则方法的返回类型必须为 void
当方法有具体的返回类型时,则必须使用 return 语句返回一种值。
如何使用对象的成员变量和方法
方法定义
1 、方法定义包括:访问修饰符、返回类型、方法名、形参
2 、方法必须有返回类型(构造方法除外),可以省略访问修饰符
3 、可以有参数,也可以没有参数
会变化。

方法调用
因为封装,不能直接访问其他对象的成员变量,通常是调用其他对象的方法。方法调用有两种情况:
调用相同类中的方法:可以直接调用。(本质上是使用 this 关键字调用)
调用其他类中的方法:对象 . 方法名

有参 和无参的方法

定义带参的方法
public void aa (int age){}
语法:<访问修饰符> 返回值类型 <方法名> (<参数列表>){
//方法的主体

<访问修饰符>指该方法允许被访问的权限,只能是public 或 private。
java对待返回值的要求很严格,方法返回值必须与所说明的类型相匹配。使用return语句返回值。
<方法名>是定义的方法名字,它必须使用合法的标识符。
列表中的参数间以逗号分隔。参数列表的格式:数据类型 参数


调用带参方法与调用无参方法的语法一样,调用有参数的方法是传入参数

调用方法时,需要注意以下两点。
先实例化对象,再调用方法。

包的作用:
1、方便管理和查找文件
2、防止命名冲突:java中只有在不同包中的类才能重名。
包的命名规范:包名由小写字母组成

final关键字

final关键字(掌握)
(1)是最终的意思,可以修饰类,方法,变量。
(2)特点:
A:它修饰的类,不能被继承。
B:它修饰的方法,不能被重写。
C:它修饰的变量,是一个常量。
(3)面试相关:
A:局部变量
a:基本类型 值不能发生改变
b:引用类型 地址值不能发生改变,但是对象的内容是可以改变的
B:初始化时机
a:只能初始化一次。
b:常见的给值
定义的时候。(推荐)
构造方法中。


方法重载 构造方法重载



方法的重载
方法的重载是指一个类中可以定义有相同的名字,但参数不同的多个方法。调用时,会根据不同的参数表选择对应的方法。方法的重载即:同名不同参
方法重载的补充说明
参数不同指的是参数的类型不同或是参数的个数不同
构造方法也可以重载
示例:方法的重载(方法同名不同参)
public class Student {
public void intro(String name) {
System.out.println("我叫" + name);
}
public void intro(int age) {
System.out.println("我今年" + age + "岁");
}
public void intro(String name, int age) {
System.out.println("我叫" + name + "今年" + age + "岁");
}
}
重载构造方法
给对象的数据进行初始化
构造方法的特点:
(1)方法名与类名相同
(2)没有返回值类型,连void都没有
(3)不能使用return语句
(4)通常为public
注意:
(1)如果没有明确提供构造方法,则系统会提供一个默认的构造方法,默认构造方法,没有参数。
(2)如果我们提供了一个构造方法,则系统不再提供无参数的默认构造方法。
(3)如果我们提供了一个有参数的构造方法,同时又需要无参构造方法的话,则必须同时提供一个无参数的构造方法。
new运算符深入分析
new运算符实际是就是调用构造方法。当进入到构造方法内部时,实际上对象已经创建完毕,可以在构造方法中为各成员变量赋值。
this关键字
this:是当前类的对象引用。简单的记,它就代表当前类的一个对象。
注意:谁调用这个方法,在该方法内部的this就代表谁。
this的场景:解决局部变量隐藏成员变量
this:代表全局变量


构造方法的重载格式
public class Student {
String name; // 姓名
int age; // 年龄


public Student(String name, int age) {
this.name = name;
this.age = age;
}
public void intro() {
System.out.println("我叫" + name + "今年" + age + "岁");
}
}
给成员变量赋值有两种方式:
A:setXxx()
B:构造方法




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值