学习目标:
- 学会类的创建与使用
- 从不同角度理解局部变量与成员变量
- 学会面对对象三大特征的封装特征。
学习内容:
一、类的创建
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18``` public class Student { // 定义成员变量 String name; int age; // 定义成员方法 public void sleep () { System.out.println("睡觉觉!"); } public void study () { System.out.println("学习中!"); } public void eat () { System.out.println("吃饭饭!"); } } ```
二、类的使用
1、导包
- import 包名称.类名称
- 对于和当前类属于同一文件夹中的类,不需要导入
2、创建,格式
- 类名称 对象名 = new 类名称();
3、使用
- 使用成员变量:对象名.成员变量名
- 如果成员变量没有进行赋值,那么将会有和数组一样的默认值
- 使用成员方法:对象名.成员方法名(参数)
三、局部变量和成员变量
1、定义的位置不一样
- 局部变量:在方法的内部
- 成员变量:在方法的外部,只能写在类中
2、作用范围不一样
- 局部变量:只有在方法中能够使用
- 成员变量:整个类中都可以使用
3、默认值不一样
- 局部变量:没有默认值,必须赋值
- 成员变量:有默认值,和数组规则一样
4、内存位置不一样
- 局部变量:位于栈内存
- 成员变量:位于堆内存
5、生命周期不一样
- 局部变量:随着方法进栈而诞生,随着方法出栈而消失
- 成员变量:随着对象被创建而诞生,随着对象被回收而消失
PS:
- 方法的参数是局部变量,调用方法时必定被赋值
四、面向对象的三大特征
1、封装
- 方法就是一种封装
- 关键字private也是一种封装
- private关键字的使用
- 成员变量加上private关键字的时候,在定义类的外部就不能直接进行访问,需要在定义类时用set,get方法间接进行访问
- 当成员变量为布尔类型时,set方法不变,get方法变成isXxx方法
- this的使用:
- 当局部变量名与成员变量名重复时,将成员变量名变成
this.成员变量名
- 当局部变量名与成员变量名重复时,将成员变量名变成
- 构造方法
- 构造方法是专门用来创建对象的方法
- 构造方法必须与所在的类名完全一样
- 构造方法不用写返回值类型,连void都不写
- 构造方法不能返回一个具体的返回值
- 如果没有编写构造方法,编译器会默认创建一个什么都不做的构造方法。
- 构造方法也可以重载
- 构造方法格式复制代码1
2
3
4public 类名(参数类型 参数名) { 构造函数体; }
学习产出:
1、Person类的创建
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19package mypackage.day02.demo1; public class Person { public String name; private int age; public void show() { System.out.println("我叫"+name+", 今年"+age+"岁。"); } public void setAge(int num) { if (num < 0 || num >100 ) { System.out.println("输入了错误的年龄!!!"); } else { age = num; }; } public int getAge() { return age; } }
2、Student类的创建
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29package mypackage.day02.demo1; //java bean public class Student { //成员变量 private String name; private int age; //无参数构造函数 public Student() { } //全参数构造函数 public Student(String name, int age) { this.name = name; this.age = age; } //getter与setter函数 public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
3、创建对象
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13package mypackage.day02.demo2; import mypackage.day02.demo1.Person; public class DemoPerson { public static void main(String[] args) { Person one = new Person(); one.name = "Jim"; one.setAge(-20); one.setAge(20); System.out.println(one.getAge()); one.show(); } }
最后
以上就是英勇导师最近收集整理的关于Java-类与对象、封装、构造方法-第6节学习目标:学习内容:学习产出:的全部内容,更多相关Java-类与对象、封装、构造方法-第6节学习目标内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复