java基础语法-day21进阶-接口

p504-p505 接口的基础语法

在这里插入图片描述

public class interfaceTest {

}

/**
 * 1、类和类之间看叫作继承,类和继承之间叫作实现
 * 不要多想,可以把“实现”看作“继承”
 * 继承使用extends关键字,实现使用implements关键字完成
 *2、五颗星(*****)当一个非抽象的方法实现接口的话,必须将家口中的所有的方法全部实现(覆盖、重写)
 */



//特殊的抽象类,完全抽象,又叫接口
interface  MyMath{
    double PI = 3.1415926;
    int sum(int a ,int b);
    int sub(int a ,int b);

}
//编写一个类(非抽象的类),类名随意在·
//非抽象的类实现接口时必须重写方法
class MyMathImpl1 implements MyMath{
    //重写、实现接口中的方法
    public int sum(int a ,int b){
        return a + b ;
    }
    public int sub(int a ,int b){
        return a - b ;
    }
}
//也可以将类定义为抽象类
abstract class MyMathImpl2 implements MyMath{

}

p506 接口实现和多态

public class interfaceTest {
    public static void main(String[] args) {
        //使用多态
//        类似于:Animal a  = new Animal()
        MyMath mm = new MyMathImpl();
        //面向接口编程(调用接口中的方法)
        int result1 = mm.sum(10,20);
        System.out.println(result1);

        int result2 = mm.sub(10,20);
        System.out.println(result2);

    }
}

/**
 * 1、类和类之间看叫作继承,类和继承之间叫作实现
 * 不要多想,可以把“实现”看作“继承”
 * 继承使用extends关键字,实现使用implements关键字完成
 *2、五颗星(*****)当一个非抽象的方法实现接口的话,必须将家口中的所有的方法全部实现(覆盖、重写)
 */



//特殊的抽象类,完全抽象,又叫接口
interface  MyMath{
    double PI = 3.1415926;
    int sum(int a ,int b);
    int sub(int a ,int b);

}
//编写一个类(非抽象的类),类名随意在·
//非抽象的类实现接口时必须重写方法
class MyMathImpl implements MyMath{
    //重写、实现接口中的方法
    public int sum(int a ,int b){
        return a + b ;
    }
    public int sub(int a ,int b){
        return a - b ;
    }
}
//也可以将类定义为抽象类
/*
abstract class MyMathImpl2 implements MyMath{

}*/

p507 一个类实现多个接口

在这里插入图片描述

/**
 *  1、
 */

public class interfaceTest02 {
    public static void main(String[] args) {

        //多态使用,都是父类型引用指向子类型对象
        A a = new D();
        B b = new D();
        C c = new D();

        //强制转换类型
        B b2 = (B)a;
        b2.m2();

        D d2 = (D)a;
        d2.m2();
    }

}
interface A{
    void m1();
}

interface B{
    void m2();
}
interface C{
    void m3();
}

class D implements A,B,C{
    //实现A接口中的m1
    public void m1(){

    }
    //实现A接口中的m2
    public void m2(){

    }
    //实现A接口中的m3
    public void m3(){

    }
}

p508 继承和实现同时存在飞猪和飞猫举例

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

/**
 *  1、继承和实现同时存在的话,先写extends,后写implements
 */


public class interfaceTest03 {
    public static void main(String[] args) {
        Flyable f1 = new Cat();//多态
        f1.fly();

        Flyable f2 = new Pig();//多态
        f2.fly();

        Flyable f3 = new Fish();
        f3.fly();

    }

}

class Animal{

}
interface Flyable{
    void fly();
}
//猫
class Cat extends Animal implements Flyable{
    public void fly(){
        System.out.println("飞猫起飞");
    }
}
//蛇类。不想飞就不需要实现Flyable
class Snake extends Animal{

}
//猪类,想飞就插翅膀
class Pig extends Animal implements Flyable{
    public void fly(){
        System.out.println("飞猪起飞");
    }
}

//鱼类,不继承Animal,但是默认继承Object。
class Fish implements Flyable{
    public void fly(){
        System.out.println("飞鱼起飞");
    }
}

p509 总结非抽象类中的基础语法

在这里插入图片描述

p510 接口在实际开发中的作用

在这里插入图片描述

p511 接口在实际开发中的作用2(从理论上理解)

在这里插入图片描述
在这里插入图片描述

p512 接口在实际开发中的作用3(举例子理解)在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

p513 接口在实际开发中的作用4(举例子理解)

在这里插入图片描述

p514 接口在实际开发中的作用5(举例子顾客菜单理解)在这里插入图片描述

就是解耦合
在这里插入图片描述

p515 is a(继承) ,has a(关联) ,like a(实现)理解类型和类型之间的关系

在这里插入图片描述

p516 抽象类和接口的区别

在这里插入图片描述

p517 - 529在这里插入图片描述

p520解释Scanner

在这里插入图片描述

p521 总结import 和package

在这里插入图片描述

p522 回顾昨天内容

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java基础语法中,标识符是由程序员自己规定的代表一定含义的单词。标识符可以用于标识变量、方法、类等。主要注意的是,标识符不能修改,而且其中的main是一个特殊的标识符,无法自己规定。 在Java基础部分的相关知识讲解中,也包括了关于标识符的内容。 如果你想要判断一个字符串是否是合法的Java标识符,可以使用以下代码作为参考: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner reader = new Scanner(System.in); while (reader.hasNext()) { int flag = 1; String str = reader.nextLine(); char ch; ch = str.charAt(0); int len = str.length(); if (Character.isJavaIdentifierStart(ch)) { for (int i = 1; i < len; i++) { ch = str.charAt(i); if (!Character.isJavaIdentifierPart(ch)) { flag = 0; break; } } } else { flag = 0; } if (flag == 0) System.out.printf("false\n"); else System.out.printf("true\n"); } reader.close(); } } ``` 这段代码可以读取用户输入的字符串,并判断其是否是合法的Java标识符。如果是合法的标识符,则输出true,否则输出false。 希望以上内容能够帮助到你。如果还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [【零基础学Java】Day-02 基础语法--标识符](https://blog.csdn.net/qq_52681453/article/details/126020455)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Java基础[02-Java基础语法1].ppt](https://download.csdn.net/download/xiaoyoupei/13206691)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [2021级-JAVA02 基础语法1--标识符、常量与变量、数据类型、运算符与表达式](https://blog.csdn.net/weixin_62455462/article/details/126696523)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值