Java面向对象之Java的封装和继承

本文深入探讨了Java中封装和继承的概念,详细解释了封装如何提高代码安全性与可维护性,以及实现步骤;同时,介绍了继承的基础知识,包括格式、类型及其实现方式,通过示例代码展示了封装和继承的实际应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:在面向对象程式设计方法中,封装(英语: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();
	}
}

效果截图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值