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