首页 > 其他分享 >【多态、接口】

【多态、接口】

时间:2024-07-06 19:31:09浏览次数:10  
标签:String void 多态 接口 Person static public

/*
多态注意事项:
1、多态是方法的多态,属性没有多态
2、父类和子类,有联系 类型转换异常!ClassCastException!
3、存在条件:继承关系,方法需要重写,父类引用指向子类对象 Person s2 = new Student();
 */
package oop;
​
import oop.demo07.Person;
import oop.demo07.Student;
​
​
//一个项目应该只存在一个main方法
public class Application {
    public static void main(String[] args) {
        //类型间的转换 : 父   子
        //高           低
        Person s = new Student();
        //将这个对象转换为Student类型就可以使用Student类型的方法了
        Student s1 = (Student) s;
        s1.go();
        Student student = new Student();
        Person person = student;
    }
}
​
/*
1、父类引用指向子类对象
2、把子类对象转换为父类,向上转型
3、把父类转换为子类,向下转型,强制转换
4、方便方法的调用,减少重复的代码!简洁
​
抽象:    封装、继承、多态!    抽象类  接口
 */
static关键字
package oop.demo08;
​
public class Person {
    {
        System.out.println("匿名代码块");//代码块(匿名代码块)
    }
    static {
        System.out.println("静态代码块");//静态代码块:对象创建时执行,只执行一次
    }
​
    public Person() {
        System.out.println("构造方法");
    }
​
    public static void main(String[] args) {
        Person person1 = new Person();
        System.out.println("====================");
        Person person2 = new Person();
​
    }
}

static 静态导入包
正常:
package oop.demo08;
​
public class Test {
    public static void main(String[] args) {
        System.out.println(Math.random());
    }
}
静态导入包:
package oop.demo08;
//静态导入包
import static java.lang.Math.random;
public class Test {
    public static void main(String[] args) {
        System.out.println(random());
    }
}
final关键字
父类被final修饰,子类无法继承

不能new这个抽象类,只能靠子类去实现它,约束!抽象类里面可以写普通方法、抽象方法必须在抽象类中!
抽象类存在构造器!

接口:
作用:
    1、约束
    2、定义一些方法,让不同的人实现
    3、方法: public abstract
    4、常量:public static final
    5、接口不能被实例化,接口没有构造方法
    6、接口可以implements多个接口
    7、必须要重写接口中的方法
package oop.demo10;
//抽象的思维!
//interface 定义的关键字, 接口都需要有实现类
public interface UserService {
    //接口中的所有定义其实都是抽象的 public abstract
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
​
}
package oop.demo10;
​
public interface TimeService {
    void timer();
}
package oop.demo10;
//抽象类 extends
//类 可以实现接口 implements 接口
//实现了接口的类,就需要重写接口的方法
//多继承 利用接口来实现多继承
public class UserServiceImpl implements UserService,TimeService{
    @Override
    public void add(String name) {
    }
    @Override
    public void delete(String name) {
    }
    @Override
    public void update(String name) {
    }
    @Override
    public void query(String name) {
    }
    @Override
    public void timer() {
    }
}

标签:String,void,多态,接口,Person,static,public
From: https://blog.csdn.net/m0_46479109/article/details/140234109

相关文章

  • IDE ATA/ATAPI 控制器是一个硬件设备的接口,用于连接硬盘驱动器、光驱和其他存储设备到
    IDEATA/ATAPI控制器是一个硬件设备的接口,用于连接硬盘驱动器、光驱和其他存储设备到计算机的主板。关于其驱动的安装与未安装的区别、重要性和价值可以从以下几个方面来理解:区别:已安装驱动:正常工作:安装了适当的驱动程序后,IDEATA/ATAPI控制器能够正确地识别和管理连接的......
  • Java基础-接口与实现
    (创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹)目录Java接口什么是接口?声明接口实现接口继承接口  接口的多继承标记接口Java接口什么是接口?Java中的接口定义了一个引用类型来创建抽象概念。接口由类实现以提供概念的实现......
  • python 基于函数的API设计,理解接口与实现分离
    在Python中,基于函数的API设计中实现接口与实现分离是一种良好的编程实践,它可以提高代码的可维护性、可扩展性和可读性。接口:可以理解为一组定义好的函数签名,这些函数签名描述了函数的名称、参数以及返回值的类型,但不包含具体的实现逻辑。实现:则是针对接口中定义的函数......
  • 怎么把Profibus接口的设备连接到Profinet网络?
    怎么把Profibus接口的设备连接到Profinet网络?Profibus和Profinet两个协议名称虽然名称相近,但实际上是两个不同的协议,正常情况下是不能直接通信交换报文数据的。但ADFweb公司推出了一个协议转换产品,是专门用于Profibus和Profinet两个网络之间转换交换数据的。这样在日常工作中,......
  • 【车载开发系列】常见单片机调试接口的区别
    【车载开发系列】常见单片机调试接口的区别【车载开发系列】常见单片机调试接口的区别【车载开发系列】常见单片机调试接口的区别一.JTAG协议二.SWD接口三.RDI接口四.仿真器1)J-Link仿真器2)ULink仿真器3)ST-LINK仿真器五.SWD/JTAG的各种区别六.信号线说明一......
  • Collection接口和常用方法
    Collection接口实现类的特点publicinterfaceCollection<E>extendsIterable<E>collection实现子类可以存放多个子元素,每个元素可以是Object有些Collection的实现类,可以存放时能够重复的元素,有些不行有些Collection的实现类是有序的(List),有些不是(Set)Collection接口没有直接......
  • Camunda流程引擎常用API接口介绍
    本文介绍Camunda7(Camunda7.19.0版本)流程引擎常用API接口,让大家了解Camunda常用的API接口有哪些(包括有:RepositoryService、RuntimeService、TaskService、HistoryService等),项目中如何调用JavaAPI和RESTAPI,尤其是查询API接口,Camunda提供了多种查询方式(包括有:JavaQueryAPI、RES......
  • 短网址生成API接口,短链生成 W外链API接口
    1、提供的接口W外链提供接口如下:获取短链分组创建短链分组获取分组下的短链列表生成短链编辑短链删除短链2、签名简介使用前请了解如下事项:API 的签名主要是用于获取身份令牌 AccessToken 时所需必要认证参数在请求需要复杂认证接口的时候,系统会验证 AccessToken......
  • C++编程逻辑讲解step by step:多态
    概念 C++面向对象中的多态性是指同一种类型的对象在不同的情况下表现出不同的行为。从代码层面看,实际上“同一种类型”就表明了,这里可以在循环里用相同的代码统一处理不同的功能。这一点很重要。题目界面上,拖动鼠标画矩形或者椭圆。分析先定义出矩形CShpRectangle和椭圆......
  • 调用kimi接口(付费)
    1.打开MoonshotAI用户中心,注册并登录,创建一个API密钥,保存下来,后面会用到。https://platform.moonshot.cn/console/limits   打开API文档,复制这段Python代码,用上面的密钥覆盖MOONSHOT_API_KEY2.打开API文档,复制Python代码,用上面的密钥覆盖MOONSHOT_API_KEY   ......