JAVA基础—03.面向对象&封装

爱转圈笔记

勤思、体悟、总结、分享

面向对象——封装

什么是面向对象(Object Oriented,OO)?

面向对象是一种将简单的、分散的事物逐渐抽象和归类的思想


什么是类?什么是对象?

类是对象的抽象(集合),对象是类的实体(个例)


在学习面向对象之前,需要先了解一下java中的访问修饰符,它们控制着元素的访问权限。

√表示在当前范围内可以访问

修饰符\范围 同类 同包 子类 所有 备注
private 私有
friendly 友好
protected 保护
public 公开

封装

什么是封装?

高内聚,低耦合;将复杂的内部结构隐藏,只留出部分接口供外部调用。

例如动物吃东西,外部只要调用吃方法喂食物就可以了,不用管它怎么吃,怎么消化。


什么是构造方法?

构造方法名与类名相同,没有返回值;在声明类时,系统会默认提供一个无参构造方法;若自行声明构造方法,则默认构造方法将被覆盖,所以在声明JavaBean时,手动声明一个无参构造方法,方便以后扩展。


什么是JavaBean?就是自己定义的一种类。

JavaBean 作用
数据Bean 通过实体类传递数据
业务Bean 代码复用

/**
 * 动物类
 * @author 爱转圈
 *
 */
public class Animal {
	//类默认的构造方法,通过构造方法来实例化对象
	public Animal() {
		//super和this,在此处不做详细解释
		//super指代父类对象
		//this指代当前被实例化的对象
		super();
	}
	//通过private关键字限制外部访问
	private String name;//动物的名字
	private int age;//动物的年龄
	
	//通过public修饰get/set方法用来给外部调用
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		//提供的公共方法中可以对成员变量进行控制
		//而不是让外部直接调用成员变量,防止出现不可预测的问题
		if(age<0){
			this.age = 0;
		}
		this.age = age;
	}
	
	//动物的吃方法
	public void eat(String food){
		//输出当前动物的名字和吃了什么东西
		System.out.println(name+",吃了"+food);
	}
	//动物的睡方法
	public void sleep(){
		//输出当前动物睡着了
		System.out.println(name+",睡着了···");
	}
}

猜你喜欢

转载自blog.csdn.net/wyd288/article/details/85477783