JAVA中的抽象类和接口

一.抽象类和包:

包:包的本质来说就是文件夹,用来管理文件的。

建包的语法格式:package公司域名倒写.技术名称。

包命名建议全部英语小写,且具备含义。

相同包下的类可以进行直接访问,不同包下的类必须进行导包 import 包名.类名

全类名创建对象

包名+类名 对象名字 = new 报名+类名

抽象类:抽象类是一种特殊的父类,其内部含有抽象方法。

抽象方法:当我们将工性的方法抽取到一个父类中后,发现这个方法在父类中无法给出具体的描述(无法用逻辑描述清楚)而且这个方法,还是子类必须要有的方法,就可以设计成为抽象方法。

讲共性的行为(方法)抽到父类中之后,发现方法的实现逻辑无法在父类中给出具体明确,该方法就可以定义为抽象方法。

抽象类:如果一个类中存在着抽象方法,那么这一个类必须是抽象类。

1.抽象类不能够进行实例化:

实例化就是创建这个类的对象,如果抽象类允许创建对象,就可以调用里面的抽象方法。(因此不能创建对象)

2.抽象类存在构造方法

   抽象类存在着构造方法,通过构造方法,让子类通过super来进行访问抽象来访问抽象类。

   如下同定义了一个抽象类 test 其中含有抽象方法 object();

3.抽象类中可以存在着普通方法

4.抽象类的子类:

   1)要么重写抽象类中的所有抽象方法;

   2)要么该类是抽象类。

Final ,private,static和abstract冲突。

Final的意思是最终,使子类不能够进行重写抽象方法。

private修饰的成员,其子类无法访问其成员,而abstract必须要求重写父类总的方法。

被static修饰的成员,可以通过类名调用,但是被static修饰的方法中没有逻辑因此static与abstract冲突。

public abstract class test{
public abstract void object();
public test(){
}
}

二.接口

     接口体现的思想是对规则的声明,java中的接口更多体现的是对行为的抽象。

     思想:如果发现一个类的所有组成,都是抽象方法,没有成员方法,没有普通方法。

     这种类我们通常设计为java中的接口,因此这个类的唯一价值,就是声明规则了。

     格式 public interface 接口名称{

     }

     接口不允许实例化(不能够创建对象)

     接口与类之间实现关系,要通过implements关键字来完成的。

     接口中的成员:

    1.成员变量:只能定义变量,因为系统会自动给定义的变量加上三个关键字 public static final

    2.成员方法:只能抽象方法,因为系统会加上 public abstract这两个关键字

    3.构造方法:没有

    接口与类之间的关系:

    1.类和类之间:继承关系,只支持单继承,不支持多继承,但是可以多层继承。

    2.类与类之间:实现关系,可以单实现,也可以多实现,也可以进行多层继承。

    3.接口与接口之间可以单继承,也可以多继承。

    创建了一个接口。

public Interface test{
void protect();
void zoo();
void main();
}

   举一个例子



public interface test {
    void print();
    void main();
}
class zoo implements test{
    public   void print(){
        System.out.println("我学会打印了");
    }
    public void main(){
        System.out.println("我被动吃掉了");
    }
    public void zoo(){
        System.out.println("我是最独特的存在");
    }
}

   

     

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值