package com.pyk.d;
/*1、类是类,接口是接口,他们是同一层次的概念
2、接口中没有构造器
3、接口如何声明:interface
4、JDK1.8之前,接口中只有两部分内容:
(1)常量:固定修饰符:public static final
(2)抽象方法:固定修饰符:public abstract*/
public interface TestInterface01{
//常量:
public static final int Num=10;//public static final可省略不写,系统自动补全
//抽象方法:
public abstract void a();//public abstract可省略不写,系统自动补全
public abstract void b(int num);
public abstract int c(String name);
}
interface TestInterface02{
void e();
void f();
}
/*5、类和接口的关系:实现关系,类实现接口
*6、一旦实现一个接口,。那么实现类要重写接口中的全部抽象方法
*7、如果没有全部重写抽象方法,那么这个类可以变成一个抽象类
*8、Java只有单继承,Java还有多实现
*一个类继承其他类,只能直接继承一个父类
*但是实现类实现接口的话,可以实现多个接口*/
class Student extends Person implements TestInterface01,TestInterface02{
@Override
public void a() {
System.out.println('aaaa');
}
@Override
public void b(int num) {
System.out.println('bbbb');
}
@Override
public int c(String name) {
return 100;
}
@Override
public void e() {
System.out.println('eeee');
}
@Override
public void f() {
System.out.println('ffff');
}
}
class Test{
//main方法
public static void main(String[] args) {
/*10、接口不能创建对象:TestInterface02 t=new TestInterface02();*/
TestInterface02 f=new Student();//接口指向了实现类(多态)
//11、接口中的常量如何访问?
System.out.println(TestInterface01.Num);//接口名.属性值
System.out.println(Student.Num);//实现类把接口里的属性拿来用,由于该属性是静态的,因此可以这也调
Student s=new Student();
System.out.println(s.Num);//创建实现类对象来访问
TestInterface01 t2=new Student();
System.out.println(t2.Num);
}
}
接口的作用是什么?
与抽象类相似同样是定义规则,但不同的地方在于它是接口不是类。
接口定义好规则之后,实现类负责实现即可。
继承:对父类的继承
实现:实现类对接口的实现
到时候写代码到底是用继承还是接口呢?
案例
手机是不是照相机
继承:手机extends照相机“is-a'的关系,手机是一个照相机
实现:手机implements拍照功能'has-a'的关系,手机具备照相的能力
案例
飞机,小鸟,风筝,都具备飞的能力
定义一个接口:Flyabel
多态的应用场合:
父类当做方法的形参,传入具体的子类的对象
父类当做方法的返回值,返回的是具体的子类对象
接口当做方法的形参,传入具体的实现类的对象
接口当做方法的返回值,返回的是具体的实现类的对象
接口和对象的区别:
A:成员的区别抽象类:构造方法:有构造方法,用于子类实例化使用。成员变量:可以是变量,也可以是常量。成员方法:可以是抽象的,也可以是非抽象的。
接口:构造方法:没有构造方法成员变量:只能是常量。默认修饰符:publicstaticfinal成员方法:jdk7只能是抽象的。默认修饰符:publicabstract(推荐:默认修饰符请自己永远手动给出)jdk8可以写以default和static开头的具体方法
B:类和接口的关系区别类与类:继承关系,只能单继承。可以多层继承。
类与接口:实现关系,可以单实现,也可以多实现。类还可以在继承一个类的同时实现多个接口。
接口与接口:继承关系,可以单继承,也可以多继承。
C:体现的理念不同抽象类里面定义的都是一个继承体系中的共性内容。接口是功能的集合,是一个体系额外的功能,是暴露出来的规则。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点
路西法2023-03-15
富时中国A50指数期货在上一股票日夜盘收涨0.76%的基础上低开,现涨0.71%。国内商品期货早盘开盘,跌多涨少。原油跌超2%,燃料油、纸浆等跌逾1%,菜粕、豆粕等小幅下跌;SS、乙二醇等涨逾1%,纯碱、热卷等小幅上涨。Gray2022-11-09
中金所2021年全年共处理异常股票行为167起,涉及261名客户;共处理违反股票限额行为23起,对涉及的实际控制关系账户组和客户采取了23次限制开仓的措施;共处理客户套期保值持仓、套利持仓超过其相应资产配比要求的行为62起,对所涉及的62名客户采取了限期调整、要求报告情况、谈话提醒、限制开仓等措施。