鸟哥Java学习之抽象类、接口-面向对象

原创 2016年06月01日 20:47:55
1.方法只有声明没有实现时,就是抽象方法,用abstract修饰。格式:abstract void 函数名();抽象方法必须定义在抽象类中。抽象类不可以被实例化。(当一个类没有足够的信息描述事物,不具体,这个类就是抽象的,但这个类里可能有些信息不是抽象的,可能只是某些功能是抽象的。)

2.抽象类必须有其子类覆盖所有抽象方法后,子类才能被实例化;
    抽象类中有构造函数,用于给子类对象进行初始化;
    抽象类可以不定义抽象方法,少见,目的就是不让该类创建对象,AWT的适配器对象就是这种类。通常这个类中有方法体,但是却没有内容。 
    抽象类关键字不可以和private、static、final关键字共存。
    抽象类一定是个父类
/*
雇员实例:
需求:
公司中4程序员,姓名,工号,薪水,工作内容
项目经理,以上还有奖金
对给出需求进行数据建模。
 
分析:
1.对象:
程序员:
属性:。。。
行为:工作
经理:
属性:。。。,奖金
行为:工作
两对象不存在直接继承关系,但有共性,可以进行抽取,建立体系。
*/
 
 
abstract class employee
{
private String name;
private String id;
private double pay;
employee(String name,String id,double pay)
{
this.name=name;
this.id=id;
this.pay=pay;
}
public String getname()
{
return name;
}
public abstract void work();
 
}
class programer extends employee
{
programer(String name,String id,double pay)
{
super(name,id,pay);
}
public void work()
{
System.out.println("recode");
}
}
class manager extends employee
{
manager(String name,String id,double pay)
{
super(name,id,pay);
}
public void work()
{
System.out.println("manage");
}
}
 
 
 
class AbstractTest
{
public static void main(String[] args)
{
programer pro = new programer("hujiaojiao","100",5000);
manager man = new manager("hujiaojiao","10",8000);
pro.work();
man.work();
System.out.println(pro.getname()+","+man.getname());
}
}
3.抽象类中方法全是抽象时,可以用另一种形式定义,用接口interface。
    定义接口使用关键字不是class,是interface。
    接口当中常见的成员,而且这些长远都有固定的修饰符(可以省略,但阅读性差)。接口中的成员都是公共的权限。
        全局常量:public static final
        抽象方法:public abstract

4.接口功能1-多实现
    类与类间是继承关系,类与接口间是实现关系,格式:class 类名 implements 类名。
    接口不可以实例化只能由实现了接口的子类并覆盖了接口中所有的抽象方法后,该子类才可以实例化,否则,这个子类就是一个抽象类。
    Java不直接支持多继承(方法体,导致调用不确定),多继承机制改良,变成多实现,一个类可以实现多个接口(因为无方法体)

5.功能2-一个类在继承另一个类的同时,还可以实现多个接口。避免单继承的局限性。
    接口与接口间是继承关系,而且接口可以多继承。

6.抽象类的继承在定义该体系的基本共性内容
    接口的实现在定义体系的额外功能。.

7.接口类型的引用用于接收(指向)接口的子类对象。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Java基础07天 学习笔记_面向对象(继承,final关键字,抽象类,接口)

001 002 继承概述 寻找对象直接的关系,并提取共性,单独进行描述。 classPerson { String name; int age; }   classStude...

3.java面向对象语法学习(部分2-抽象类,接口,内部类)

Java学习系列(五)Java面向对象之抽象类、接口、内部类、枚举类详解

抽象类、接口常常与设计模式紧密相连。掌握抽象类、接口等其实很简单。下面以说明+实例的方式来讲,这样更容易理解。 抽象类 先看一个关键字“abstract”,我们知道它是抽象的意思。所谓抽象...

java面向对象浅析--抽象类、接口与多继承

高分好文! 原文地址:http://blog.csdn.net/hwalan/article/details/1341065 有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一个分类或...

java面向对象浅析系列2——抽象类、接口与多继承

有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一个分类或抽象概念,它的实例没有任何意义,因此不希望它能被实例化。例如:有一个父类“水果(Fruit)”,它有几个子类“苹果(Apple)”...

Java-面向对象(高级篇)--抽象类与接口的应用

抽象类与接口的应用 一. 抽象类的实际应用——模板设计 通过对象的多态性可以为抽象类实例化,那么抽象类该如何使用那?假设人分为学生和工人,学生和工人都可以说话,但是说的内容不相同,那么说话的功能...

Java基础(8):面向对象—抽象类和接口的区别和各自特点

this和super的作用: this代表的是本类对象,一般用来调用方法外部的本类变量和方法。 super代表的是当前类的父类引用。使用super,可以直接调用父类的方法和变量。 给出一段使用this...

Java基础8---面向对象之多态、抽象类、接口

一、多态polymorphic1.多态的前提 要有继承关系。 要有方法重写。 要有父类引用指向子类对象。 2.多态中的成员访问特点1)成员变量编译看左边(父类),运行看左边(父类)。//多态:成员变量...

Java基础(面向对象三——继承、final关键字、抽象类、接口)

一、继承 继承:继承是面向对象的三大特点之一,当多个类中存在相同的属相和行为时,可以把这些共有的内容抽取到单独一个类中,那么多个类无需在定义这些属性和行为,只需要使用extends关键字继承抽取出来...
  • zzamk
  • zzamk
  • 2015-03-10 10:19
  • 701
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)