Android Day13

Android Day12

感想

今天感觉稍微好一些了,晚自习的时候自己看了Java课本,又结合笔记去网上搜了一些介绍,感觉有一定的了解了,虽然没有把这些东西琢磨透,但是知道一点,感觉对写代码应该帮助就很大了,所以慢慢来嘛,学习这门课,就像万里长征,坚持才是最重要的

内容

Ⅰ抽象类

Ⅱ接口

具体实例

Ⅰ抽象类

1.定义
抽象方法是一种特殊的方法:它只有声明,而没有具体的实现,抽象方法必须用abstract关键字进行修饰。
如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象
2.抽象类就是为了继承而存在的,如果你定义了一个抽象类,却不去继承它,那么等于白白创建了这个抽象类,因为你不能用它来做任何事情
3.抽象类和普通类的主要有三点区别:
(1)抽象方法必须为public或者protected(如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public;
(2)抽象类不能用来创建对象;
(3)如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。
4.抽象类的具体例子

abstract class BaseAndroidStudy {
//定义一个代码块
{
    System.out.println("锻炼身体");
}

//定义一个属性 用于保存数据
public String javaBook;
public Dream dream;

public BaseAndroidStudy(String javaBook, String dream) {
    this.javaBook = javaBook;

    this.dream = new Dream();
    this.dream.name = dream;
}

//定义一个静态常量 共享
public static final String CBOOK = "C Primier";

//定义一个抽象方法 不需要实现
public abstract void studyC();

//定义一个普通方法 已经确定了这个方法的具体实现
public void studyJava() {
    System.out.println("参加");
}

//定义一个内部类 用于管理每个人的梦想
class Dream {
    public String name;

    public void show() {
        System.out.println("我的梦想是" + name);
    }
  }
}

Ⅱ接口

1.定义
在Java中是一个抽象类型,是抽象方法的集合,一个类通过继承接口的方式,从而来继承接口的抽象方法,类描述对象的属性和方法。接口则包含类要实现的方法,接口无法被实例化,但是可以被实现
2.在Java中定一个接口如下

      public interface InterfaceName {}
  1. 接口与类相似点:
    一个接口可以有多个方法
    接口文件保存在 .java 结尾的文件中,文件名使用接口名
    接口的字节码文件保存在 .class 结尾的文件中
    接口相应的字节码文件必须在与包名称相匹配的目录结构中
    
  2. 接口与类的区别:
    接口不能用于实例化对象
    接口没有构造方法
    接口中所有的方法必须是抽象方法
    接口不能包含成员变量,除了 static 和 final 变量
    接口不是被类继承了,而是要被类实现
    接口支持多继承
    
  3. 抽象类和接口的区别
    抽象类中的方法可以有方法体,就是能实现方法的具体功能,但是接口中的方法不行
    抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是 public static final 类型的
    接口中不能含有静态代码块以及静态方法(用 static 修饰的方法),而抽象类是可以有静态代码块和静态方法
    一个类只能继承一个抽象类,而一个类却可以实现多个接口
    

6.接口的具体实现方式

interface testInterface {
//以下两种定义方式相同 默认为public static final
public static final int I = 100;
int A = 20;

void test();
void test2();
void test3();

public static class inner {
    int name;

    public void show() {
        System.out.println("内部类");
    }
  }
}

7.接口的继承
一个类可以实现多个接口, 一个接口可以继承多个接口

interface testInterface2 extends testInterface {
//以下两种定义方式相同 默认为public static final
int I = 100;
int A = 20;

void test();

class inner {
    int name;

    public void show() {
        System.out.println("内部类");
    }
  }
}

class FFClass implements testInterface2, testInterface {

@Override
public void test() {
    testInterface.inner in = new testInterface.inner();
    in.show();
}
@Override
public void test2() {}
@Override
public void test3() {}
}

8.接口的使用

   class Te {
   public static void main(String[] args) {
    //经常使用第二种
    FFClass ff = new FFClass();
    testInterface2 t = new FFClass();
      }
   }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容