码迷,mamicode.com
首页 > 编程语言 > 详细

java抽象类详解

时间:2018-04-06 10:50:47      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:public   重写   继承   其他   例子   为什么   stat   string   实例   

前言

在没讲抽象类之前  我们先来看看 final关键字

final 修饰符 可以修饰 类、属性、方法

修饰类时  表示该类不能被继承   其他特征 跟普通的类一样

修饰 属性时 表示 改属性不能改变 并且 必须赋初始值

修饰方法时  表示该方法不能被重写   

什么是抽象类?

为什么要使用抽象类?

当我们在写继承时  一般实现时用不到父类 不需要实例化对象  这个时候我们就把这个父类定义为抽象类

也就是说抽象类本身没有实际意义 但是在编写继承或者多态程序时 又不得不定义父类  所有这个时候我们就把父类定义为抽象类俗称抽象父类

抽象类是用abstract 来修饰   抽象类的特点就是不能实例化对象 但是抽象类跟其他类一样 可以被继承

什么是抽象方法?

抽象类中的方法一般在继承和多态时 抽象类都不能创建对象 所有抽象类里面的方法也就没多大用处 但是 抽象类中不可能不定义方法 这个时候我们就将该方法定义为抽象方法

抽象方法的三个特征

1、抽象方法没有方法体

2、抽象方法必须存在于抽象类中

3、必须在子类中重写父类中的抽象方法

下面来看一个例子:

abstract class Pet
{
	public abstract void eat();
}

class Dog extends Pet
{
	public void eat(){
		System.out.println("狗吃骨头");
	}
}	

class Cat extends Pet
{
	public void eat(){
		System.out.println("猫吃鱼");
	}
}	

class Nature
{
	public void law(Pet p){
		p.eat();
	}
}

class  TestAb
{
	public static void main(String[] args) 
	{
		Nature nature = new Nature();
		nature.law(new Dog());
		nature.law(new Cat());
	}
}

 

java抽象类详解

标签:public   重写   继承   其他   例子   为什么   stat   string   实例   

原文地址:https://www.cnblogs.com/nianzhilian/p/8725148.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!