一:在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部份包装、隐藏起来的方法。封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定义的代码随机访问。要访问该类的代码和数据,必须通过严格的接口控制。适当的封装可以让程式码更容易理解与维护,也加强了程式码的安全性。
封装的优点:良好的封装能够减少耦合。类内部的结构可以自由修改。可以对成员变量进行更精确的控制。 隐藏信息,实现细节。
实现Java封装的步骤:
1.修改属性的可见性来限制对属性的访问(一般限制为private)
2.对每个值属性提供对外的公共方法访问,也就是创建getter 和 setter方法(将实例变量的首字母大写,在前面添加get或者set, 变成getter 和 setter方法名)
注:这里创建getter 和 setter方法可以使用MyEclipse的快捷键Alt+Shirt+S,然后再选中Generate Getters and Setters…,最后选中你需要的getter 和 setter方法就可以了。
示例代码:
public class Person {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) throws Exception {
if (age<=0) {
throw new Exception("年龄只能为正数");
}
this.age = age;
}
}
调用运行:
public class Demo2 {
public static void main(String[] args) {
Person person=new Person();
try {
person.setAge(10);
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(person.getAge());
}
}
打印结果:
二:Java的继承,继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
1、类的继承格式
class 父类 {
}
class 子类 extends 父类 {
}
2、继承类型:
需要注意的是 Java 不支持多继承,但支持多重继承
示例代码:
public class Bird {
int weight=0;
//private成员变量
private int intPrivate=10;
//--方法
public void fly(){
System.out.println("我是鸟,我可以飞!");
}
public void eatting(){
System.out.println("....吃.....");
}
//private方法
private void privateMethod(){
System.out.println("privateMethod");
}
}
继承类:
//继承了 Bird中的fly和eatting方法
public class Eagle extends Bird{
}
调用运行:
public class Demo3 {
public static void main(String[] args) {
//实例化 Eagle
Eagle eagle=new Eagle();
//使用成员变量
eagle.weight=3;
System.out.println(eagle.weight);
//调用方法
eagle.fly();
eagle.eatting();
}
}
效果截图: