1、面向对象的特点
A、更符合人们的思想习惯
B、由执行者变成了指挥者
C、将复杂的问题简单化
2、面向对象
2_1、类 对事物的一个描述
2_2、属性
A、变量 -- 成员变量
(1)、类里面 方法的外面
(2)、具有初始化值 -- 参考数组
2_3、行为
A、方法 -- 成员方法
2_4、类与对象的关系
A、类相当于模具,我们可以使用类去创建多个对象。
3、一个对象的流程图
4、两个对象的流程图
5、两个对象指向同一个地址的流程图
6、成员变量以及局部变量不同处
6_1、代码中位置不同
A、成员变量 类中方法外
B、局部变量 方法内
6_2、内存中位置不同
A、成员变量 堆内存
B、局部变量 栈
6_3、生命周期
A、成员变量 随着对象的创建而存在 随着对象的消失而消失
B、局部变量 随着方法的调用而存在 随着方法的消失而消失
6_4、初始化值
A、成员变量 有默认值
B、局部变量 没有默认值
6_5、有效范围 变量所在的那对大括号
7、面向对象特性
7_1、三大特性
A、封装
B、继承
C、多态
7_2、我们今天所学习的内容 其实是面向对象当中的封装
8、关键字-private
A、权限修饰符
B、只能在本类当中访问
C、为了安全性
D、标准代码
package com.itheima.pri;
public class StudentTest {
public static void main(String[] args) {
Student stu = new Student();
stu.setName("迪丽热巴");
System.out.println(stu.getName());
stu.setAge(30);
System.out.println(stu.getAge());
}
}
class Student{
private String name;
private int age;
/*
* setter & getter
*/
//set方法是赋值用的
public void setName(String a){
name = a;
}
//get获取值的
public String getName(){
return name;
}
//set get 后面跟的是 成员变量名首字母大写
//age 的 set方法
public void setAge(int a){
age = a;
}
//get 方法
public int getAge(){
return age;
}
}
E、图解
9、封装
A、将属性进行封装提供对外的公共访问的 get 以及 set 方法
B、this关键字
(1)、本类的引用
(2)、谁调用就代表谁
(3)、代码
package com.itheima.biao;
public class Student {
//属性
private String name;
private int age;
//行为 -- get set 方法
public void setName(String name){
//就近原则
this.name = name;
}
public String getName(){
return name;
}
public void setAge(int age){
System.out.println(this);
this.age = age;
}
public int getAge(){
return age;
}
}
package com.itheima.biao;
public class StudentTest {
public static void main(String[] args) {
Student stu = new Student();
stu.setAge(18);
System.out.println(stu.getAge());
System.out.println(stu);
}}
10、构造方法
用来给对象进行初始化的
10_1、书写格式
A、方法名与类名相同
B、没有返回值类型 连void都没有
C、没有具体的返回值
D、举个栗子
例:比如 Student类
public Student(){}
10_2、有参构造
A、方法名与类名相同
B、有参数列表 参数列表与属性是一样的
C、没有具体的返回值
D、没有返回值类型 连void都没有
E、举个例子
比如 Student类 属性 name age
public Student(String name,int age){
this.name = name;
this.age = age;
}
10_3、注意事项
A、如果一个类中什么构造方法都没有,那么系统会提供一个默认的无参构造
B、假如我们自己写了无参构造,那么系统将不再提供默认的无参构造
C、所以,为了避免上面这种错误的发生,我建议大家自己去提供一个无参构造
11、一个类当中都有什么哪些内容
A、成员变量
B、构造方法
C、成员方法
12、如何写一个标准的学生类
A、成员变量
B、构造方法
无参构造
有参构造
C、成员方法
get方法、set方法---this