面向对象的三大特性:封装、继承、多态
一、封装
1、概念
将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问
2、好处:
- 只能通过规定的方法访问数据
- 隐藏类的实例细节,方便修改和实现
3、封装的实现步骤
例如:
public class Telphone{
private float screen;
public float getScreen(){
return screen;
}
public void setScreen(float newScreen){
screen = newScreen;
}
}
public static void main(String[] args){
Telphone phone2 = new Telphone(5.0f);
phone2.setScreen(6.0f);
System.out.println("screen:"+phone2.getScreen());
}
eclipse可以自动生成setter和getter,在Source–>Generate Getters and Setters,自动检查到当前类中有哪些属性,在需要生成setter和getter的属性前打勾
二、Java中的包
1、包的作用:
- 管理Java文件
- 解决同名文件冲突
2、定义包:package 包名
注:必须放在Java源程序的第一行
包名间可以使用”.”号隔开
eg:com.shauna.MyClass
3、系统中的包
java.(功能).(类)
java.lang.(类) 包含java语言基础的类
java.util.(类) 包含java语言中各种工具类
java.io.(类) 包含输入、输出相关功能的类
4、包的使用
- 可以通过import关键字,在某个文件使用其他文件中的类。
import com.shauna.music.MyClass - Java中,包的命名规范是全小写字母拼写
- 使用的时候不但可以加载某个包下的所有文件
eg:com.shauna.*
也可以加载某个具体子包下的所有文件
eg:com.shauna.music*
三、访问修饰符
访问修饰符:可以修饰属性和方法的访问范围
访问修饰符的总结:
本类就当于自己
同包即为同一路径下
四、this关键字
1、this关键字代表当前对象
this.属性 操作当前对象的属性
this.方法 调用当前对象的方法
2、封装对象的属性的时候,经常会使用this关键字
自动创建setter时,经常如下:
public float setScreen(float screen){
this.screen = screen;
}
还可以调用当前类的某个方法:
public void sendMessage(){
System.out.println("sendMessage");
}
public float setScreen(float screen){
this.screen = screen;
this.sendMessage();
}