Java基础之类对象和封装
【摘要】 1 类和对象,封装 1.1 类的定义类的组成:共同属性 和 行为属性:在类中通过 成员变量 体现(类中方法外的变量)行为:在类中通过 成员方法 体现(和前面的方法相比,去掉static关键字即可)快捷键:生成对象:写好new Phone();,按下 Ctrl+alt+v 自动补全前面Phone p = new Phone();定义有参构造方法 :按下Fn+Alt+insert:选Const...
1 类和对象,封装
1.1 类的定义
- 类的组成:共同属性 和 行为
- 属性:在类中通过 成员变量 体现(类中方法外的变量)
- 行为:在类中通过 成员方法 体现(和前面的方法相比,去掉static关键字即可)
- 快捷键:
- 生成对象:写好
new Phone();
,按下 Ctrl+alt+v 自动补全前面Phone p = new Phone();
- 定义有参构造方法 :按下Fn+Alt+insert:选Constructor ,按下Shift全选
- 定义成员方法 :按下Fn+Alt+insert:选Getter and Setter,按下Shift全选
- 生成对象:写好
- 类的定义步骤
public class 类名{
// 成员变量
变量1的数据类型 变量1;
变量2的数据类型 变量2;
...
//成员方法
方法1;//没有static
方法2;
...
1.2 对象的使用
1.2.1 创建对象
- 格式
// 类名 对象名 = new 类名();
Phone p = new Phone();
- 快捷键 :写好
new Phone();
,按下 Ctrl+alt+v 自动补全前面Phone p = new Phone();
1.2.2 使用对象
- 1.使用 成员变量
- 格式:对象名.变量名;
- 范例:
p.brand;
- 2.使用 成员方法
- 格式:对象名.方法名;
- 范例:
p.call();
1.3 成员变量和局部变量
- 成员变量:类中方法外的变量
- 局部变量:方法中的变量
- 区别
1.4 封装
1.4.1 private( [ˈpraɪvɪt])关键字
- 是一个权限修饰符
- 可以修饰类成员(成员变量和成员方法)
- 作用是保护成员不被其他类使用,被private修饰的成员只能在本类中访问
- 针对private修饰的成员变量,如果如果需要被其他类使用,提供相应方法
- 提供“ set变量名(参数) ”方法,用于设置成员变量的值,方法用 public 修饰
- 提供“ get变量名() ”方法,用于获取/返回成员变量的值,方法用 public 修饰
public class Student {
//成员变量
String name;
private int age;
//提供get、set方法
public void setAge(int a) {
if(a<0 || a>120) {
System.out.println("你给的值有误");
}else {
age = a;
}
}
public int getAge(){
return age;
}
public void show() {
System.out.println(name+","+age);
}
}
1.4.2 private关键字的使用
- 一个标准类的编写:
1、把 成员变量 用 private 修饰
2、提供对应的 getXxx() 和 setXxx() 方法 - 快捷键 (定义成员方法):按下Fn+Alt+insert:选Getter and Setter,按下Shift全选
public class Student {
//成员变量
private String name;
private int age;
//提供get/set方法
public void setName(String n) {
name = n;
}
public String getName() {
return name;
}
public void setAge(int a) {
age = a;
}
public int getAge() {
return age;
}
public void show () {
System.out.println(name+"," + age);
}
}
1.4.3 this关键字
- 1、this修饰的变量指代成员变量
- 方法的形参如果和成员变量同名,不带this修饰的变量值形参,而不是成员变量
- 方法的形参没有和成员变量同名,不带this修饰的变量值成员变量
- 2、什么时候使用this呢? 解决局部变量隐藏成员变量的时候 (同名的时候)
- 3、this:代表所在类的方法引用(方法被哪个对象调用,this就代表哪个对象)
1.4.4 封装
- 封装的原则:将类的某些信息隐藏在类的内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问成员变量 private ,提供的对应的 getXxx() 和 setXxx() 方法
- 封装的好处:
1、通过方法来控制成员变量的操作,提高了代码的安全性
2、把代码用方法进行封装提高了代码的复用性
1.5 构造方法
1.5.1 构造方法定义
- 作用:创建对象
- 功能:完成对象数据初始化
- 快捷键
- 定义无参构造方法:按下Fn+Alt+insert:选Constructor ,按下C
- 定义有参构造方法:按下Fn+Alt+insert:选Constructor ,按下Shift全选
- 格式
public class 类名{
修饰符 类名(参数) { //修饰符一般使用public
}
}
1.5.2 注意事项
-
1、如果没有定义构造方法,系统将给出一个 默认 的 无参数构造方法
-
2、如果定义了构造方法,系统将不再提供默认的构造方法
-
解决方法: 无论是否使用,都手动书写无参数构造方法,和带参数构造方法
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)