Java基础day07面向对象
2020-07-21 本文已影响0人
__method__
- markdown示例
public static void main(String[] args) {
System.out.println("请输入最大范围的那个数");
int maxNumber = new Scanner(System.in).nextInt();
guessNumber(maxNumber);
}
面向对象
- 类:是一组相关属性和行为的集合, 可以看成一类事物的模板
- 对象: 是类事物的具体体现, 对象是类一个实例
类与对象的关系
- 类是对一类事物描述,是抽象的
- 对象是一类事物的实例, 是具体的
- 类是对象的模板, 对象是类的实体
属性: 事物的状态的信息
行为: 事物能够做什么
Java语言实现一个面向对象中的类
类定义的格式
public class 类名 {
// 建立了一个 Student类
// 成员变量 ---》 事物的属性
// 成员方法 ---》 事物的行为
}
对象的使用格式
- 创建对象
类名 对象名 = new 类名();
访问类中的成员
对象名.成员变量
对象名.成员方法()
成员变量的默认值
定义一个手机类
- brand
- price
- color
- 打电话方法(name) “给 name打电话”
- 发短信方法 “已群发短信”
封装
- 有时候我们不希望外界修改对象的属性, 所有我们要给他藏起来, 这样可以加强代码 的安全性
封装的原则 - 将属性隐藏起来, 若需要访问某个属性, 提供公有的get、set即可
- 步骤
- private(被其修饰的变量或者方法只能在本类调用) 隐藏
- 提供一对get(获取)、set(修改或增加)方法
this的含义
this 代表所在类的当前对象的引用
方法被哪个对象调用, 方法中的this就代表哪个对象,
谁在调用this就代表谁
格式
this.成员变量名;
局部变量 和全局变量
- 在类中的位置不同
成员变量: 类中, 方法外
局部变量: 方法中或者方法声明上 - 作用范围不一样
成员变量: 类中
局部变量: 方法中 - 初始化值
成员变量: 有默认值
局部变量:没有,必须赋值才能用
(了解) - 内存中位置不同
成员变量: 堆内存中
局部变量:栈内存 - 生命周期不同
成员变量: 随着对象的创建而创建,随着对象的消失而消失
局部变量: 方法调用创建, 方法调用完毕消失
构造方法(构造函数、构造器)
constructor
当一个对象被创建, 构造方法用来初始化对象,给对象的成员变量赋初始值
无论你是否创建了构造方法,所有的类都有构造方法, 因为Java会自动提供一个无参构造方法, 一旦自己定义了构造方法, Java自动提供的默认的无参构造方法就会失效
- 格式
修饰符 构造方法名(参数列表){
方法体
}
写法上, 名字要与类名相同, 没有返回值, 也不用写void
Student(){
}
Student(String name, int age){
this.name = name;
this.age = age;
}
- 如果没定义构造方法,系统会给出无参构造方法
- 如果定义了构造方法,系统不再给出无参构造方法
- 构造方法时可以重载的, 既可以定义参数, 也可以不定义参数
标准代码 JavaBean
JavaBean是java编写的一种规范,
- 要求类必须是具体的和公有的
- 具有无参构造方法的
- 提供成员变量的get和set方法
public class BeanDemo {
// 成员变量
// 构造方法
// 无参构造方法 必须的
// 有参构造方法 建议
// 成员方法
// get
// set
}
、