java——面向对象小结 及 抽象类的概念

回顾 :面向对象
1.1面向对象
抽象,将现实中的事物抽取出事物的属性和方法,封装成对象,通过对象的实例化和调用,完成需求。
Student stu = new Student();

封装,隐藏类的内部细节,提供外部访问的接口。
将多次重复运行的代码,封装到方法中,较少代码代码的冗余,提高代码的重用性。
private int a = 10;
public int getA(){}
public void setA(int a){}

继承,子类继承父类中的共有属性和方法。关键字是extends。
充分体现了java对象重用的特性,继承属性,重写方法。提高了代码的重用性。
class a extends b

多态,一种类型,多种形态。父类对象在编译器是父类形态,运行期是子类形态。
提高了java系统的可插拔性。
Pet pet;// 父类类型。
pet = new Penguin(“qq”,2,85,50,“雌”);
pet = new Dog(“大黄”,3,75,85,“黄色”);

2.抽象类
什么是抽象类?
abstract 修饰的类叫做抽象类。
什么是抽象方法?
使用abstract修饰的方法叫做抽象方法,抽象方法不能有具体的实现,子类必须重写。

简单点说 1.任何类 只要用abstract修饰 都能作为抽象类
2.只要有抽象方法 这个类必然是抽象类 但是,抽象类不一定要有抽象方法
下面通过代码感受以下

/**
 * 宠物父类:抽象类
 * @author hadoop
 *
 */
public abstract class Pet {
	
	private String name;
	private int age;
	private int health;
	private int love;
	
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public int getHealth() {
		return health;
	}
	public void setHealth(int health) {
		this.health = health;
	}
	public int getLove() {
		return love;
	}
	public void setLove(int love) {
		this.love = love;
	}
	public Pet() {
		super();
	}
	public Pet(String name, int age,  int health, int love) {
		super();
		this.name = name;
		this.age = age;
		this.health = health;
		this.love = love;
	}

	// 抽象类中有抽象方法。
	public abstract void eat();
	
	// 非抽象方法。
	public void show(){
		
	};

2.1 抽象类的特征

  • abstract 修饰的类是抽象类:
  • 1: 抽象类不能实例化。
  • 2: 抽象类中有抽象方法,子类必须重写。
  • 3: 抽象类中可以有非抽象方法,不要求子类强制实现。
  • 4:如果一个类中,有抽象方法,那么这个类一定是抽象类。
  • 5: 如果一个类是抽象类,这个类中一定有抽象方法吗?不一定。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值