【第22期】观点:IT 行业加班,到底有没有价值?

鸟哥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面向对象——抽象类与接口

一、Java final关键字的使用 1、final关键字在java

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

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

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

转载 java面向对象—抽象类、接口与多继承

有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一个分类或抽象概念,它的实例没有任何意义,因此不希望它能被实例化。例如:有一个 父类“ 水果(Fruit)”,它有几个子类“苹果(Apple)”、“橘子(Orange)”、“香蕉(Banana)”等。水果在这里仅仅只是作为一个分类, 显然水...
  • dhj
  • dhj
  • 2008-10-20 09:49
  • 906

Java基础学习中,关于面向对象中多态、抽象类、接口的总结

经过一段时间的学习,当我回过头来复习之前学过的东西的时候,发现掌握的并不是那么的牢靠,尤其是多态,抽象类,和接口这一块,因此特意把他们总结了一下,把他们放到一起,也希望能够帮到想我一样的人。 首先多...

java面向对象—抽象类、接口与多继承

有时候,我们可能想要构造一个很抽象的父类对象,它可能仅仅代表一个分类或抽象概念,它的实例没有任何意义,因此不希望它能被实例化。例如:有一个父类“ 水果(Fruit)”,它有几个子类“苹果(Apple)”、“橘子(Orange)”、“香蕉(Banana)”等。水果在这里仅仅只是作为一个分类,显然水果的...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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