Java初识//接口

Java初识

**

接口


前言

这个系列是根据B站UP主:刘二大人的“Java编程语言入门”的系列视频,将所讲的内容手打出来的( 类似课堂笔记 ),配合视频食用效果更佳。

PS:萌新第一次写博客,如发现了错误,请帮忙指出,万分感谢!最后,希望大家食用愉快,一起进步!


一、代码简介

共计两个包:
ex1: Main
ex2:Main

二、ex1

Main

代码如下:

package ex1;

//对一个抽象类来说,如果里面没有字段 且 全是抽象类的方法(字段:非静态//在static里学习)
//我们就把这个抽象类叫做接口
//接口就是一种特殊的类

import java.util.AbstractList;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class Main {
    public static void main(String[] args) {
//        List list = new ArrayList();//注意:这里List是一个接口(抽象类)
//        Collection collection = list;
//        Iterable it = collection ;

        ClassA a = new ClassA();
        a.run();
    }
}

interface InterfaceA{
    default void run(){
        //加上default之后,如果接口里面以后有默认方法,(默认方法可是重复率很高的方法)
        //且以后不想覆写,而是直接用默认的方法,就可以加default
        //这样的话,提高了代码的可读性
        System.out.println("d");
    }
}

class ClassA implements InterfaceA{

}



//
//abstract class Foo{
//    public abstract void take();
//    public abstract void run();
//}
//
//interface Person{
//    void take();
//    void run();
//    //接口中所有的类都是public abstract
//    //类的继承在接口里也是通用的
//    //Java里不允许类继承自多个类,但可以实现多个接口
//}
//
//interface Person{
//    void greeting();
//}
//
class Student implements Person{

    @Override
    public void greeting() {
        System.out.println("s");
    }
}
//
//这是实现多个接口:
//interface Student extends Person{
//    void  run();
//}
//
//class Foobar implements Student{
//
//    @Override
//    public void greeting() {
//        System.out.println();
//    }
//
//    @Override
//    public void run() {
//
//    }
//}

/*
* 父类 Object
* 子类 Abstrast Collection(抽象集合)----->实现Cllection接口---->继承自Iterable接口
* 子类 Abstract List(抽象列表)----->实现List接口----->继承自Cllection接口
* 两个派生类 ArrayList  LinkedList(用数组/链表实现列表)
*  ArrayList是无序的,没有索引的
* LinkedList是有序的,可以用索引来访问其中的元素
* */

二、ex2

Main


代码如下:

package ex2;

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        Student[] students = new Student[]{
                new Student("Mike"),
                new Student("Jack"),
                new Student("Clark")
        };
        Arrays.sort(students);

        System.out.println(Arrays.toString(students));

    }
}

class Student implements Comparable{
    private String name;

    public Student(String name){
        this.name = name;
    }

    @Override
    public int compareTo(Object o) {
        Student s = (Student) o;
        return this.name.compareTo(s.name);
    }

    @Override
    public String toString() {
        return this.name;
    }
}

总结

求知是有代价的,你的痛苦铺就了追求至高理想的路。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值