一、基础概念
(一)面向对象的三大特征: 1.封装 2.继承 3.多态
(二)封装:隐藏实现细节,对外提供公共的访问方式(接口)。
封装的体现之一:将属性都私有化,对外提供对应的 setXXX getXXX 方法来访问。
封装的好处:
1.提高安全性。不允许直接访问细节。并通过公共的方式来访问,实现可控。
2.提高了易用性。
3.提高了复用性。
4.隔离的变化。后期应用于分层设计。
二、实例代码
要求用私有化进行封装将Person的年龄打印出来。
class Person
{
private int age;
//对私有的数据,可以通过方法的方式对其进行访问。
public void setAge(int a)
{
//可以对数据进行控制。
if(a<0 || a>130){
throw new RuntimeException(a+"数值的错误的"); //抛出异常
}else{
age = a;
}
} public int getAge() {
return age;
}
void speak(){
System.out.println("age="+age);
} } class PersonDemo
{
public static void main (String[] args){
//创建Person的对象,调用Person的属性和行为。
Person p = new Person();
p.setAge(20);
p.speak();
}
}
三、代码运行
如果对Java代码进行编译时出现编码GBK的不可映射字符的问题时,应该使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java
1.输入命令:javac -encoding UTF-8 PersonDemo.java (编译PersonDemo文件中的代码)
2.输入命令:java PersonDemo (执行PersonDemo文件中的代码)