ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java泛型,继承,接口实现,枚举

2022-09-12 22:34:59  阅读:93  来源: 互联网

标签:java 子类 绑定 接口 枚举 泛型 静态方法 父类 方法


泛型

使用泛型可以设置一个集合中元素的类型。

  public class Animal<T extends Person> {
    //T代表Person本身或子类,实现
  }

继承

方法重载(@Override):类的同一个功能的不同实现。在一个类中不允许定义两个类名相同且参数签名都相同的方法。

如果在子类中定义一个方法,其名称,返回类型及参数签名正好与父类中的某个方法的名称,返回值及参数签名刚好相同,那么可以说子类覆盖父类的方法。
子类方法不能缩小父类方法的访问权限,子类方法不能抛出比父类方法更多的异常,父类的静态方法不能被子类非静态方法覆盖.
子类可以定义和父类的静态方法同名的静态方法,以便隐藏父类的静态方法。但是父类型的引用会调用父类的静态方法,子类引用会调用子类的静态方法。
父类的非静态方法不能覆盖为子类的静态方法。子类实现父类的静态方法,子类重新定义父类的静态方法。
父类的私有方法不能被子类覆盖。
必须满足下面的请求:参数签名不同
1,方法名相同
2,方法参数的类型,个数,顺序至少有一个不同
3,方法的返回值可以不同
4,方法的修饰符可以不同。

super关键字

1,在类中通过super()调用父类的构造方法。
2,在子类中访问父类中被屏蔽的方法和属性。
3,super.name 调用父类的属性, super.getName() 调用父类的方法

多态

1,对于一个引用类型的变量,Java编译器按照它声明的类型来处理。
2,对于一个引用类型的变量,运行时Java虚拟机按照它的实际引用的处理对象来处理。
3,在运行时环境中,通过引用类型变量来访问所引用对象的方法和属性时,Java虚拟机采用以下绑定原则。
1,实例方法与引用变量实际引用的对象的方法的绑定,这种绑定属于动态绑定,因为是在运行时由JVM决定的。
2,静态方法与引用变量所声明的类型的方法绑定,这种绑定属于静态绑定,因为实际上在编译阶段就已经做了绑定。
3,成员变量(包括静态变量和成员变量)与引用变量所声明的类型的成员变量绑定,这种绑定属性静态绑定,因为实际上在编译阶段就已经做了绑定。

接口实现

接口的6种设计模式

1,定制服务模式:设计精粒度的接口,每个接口代表一组相关的服务,通过继承来创建符合接口。
2,适配器模式:当两个系统之间接口不匹配时,用适配器来转换。
3,默认适配器模式:为接口提供简单的默认实现。
4,代理模式:为接口的实现类提供代理类,使用者通过代理类来获得实现类的服务。
5,表示类模式:用接口表示一组没有任何行为的抽象类。
6,常量接口模式:在接口中定义静态常量,在其他类中通过import static 语句引入这些常量。

在Java中接口有两种含义

1,概念性接口,指系统对外提供的服务。类的能被外界访问的方法被称为类的接口。
2,使用interface定义的接口。

接口与抽象类的比较

共同点:
1,都代表系统的抽象层。 2,都不能被实例化。 3,都能包含抽象方法。
不同点:
1,接口中的成员变量只能是public,static,final类型的。而抽象类中可以定义多种类型的实例变量和静态变量。这是抽象方法的优势,它可以包含所有子类实现的共同成员变量,避免在子类中重复定义。
2,一个类只能继承一个父类,但是可以实现多个接口。

枚举

枚举类的主要特点是他的实例个数是有限的,这些实例是枚举类型的静态方法,枚举类提供了这些实例的静态工厂方法。

定义枚举

public enum Gender { KKK,MMM} 等价于 public class TestGender extends Enum {}

public enum Gender {
    AAA("这是A"),
    BBB("这是B");

    private String kkk;//这个值会对应枚举中的值,如这是A
    private Gender(String kkk) { this.kkk=kkk; }//构造方法必须为private类型的
    public String getKkk(){  return kkk; }
}

public class Running {
    public static void main(String[] args)  {
        String kkk = Gender.AAA.getKkk();
        System.out.println(kkk);//值为  这是A
    }
}

标签:java,子类,绑定,接口,枚举,泛型,静态方法,父类,方法
来源: https://www.cnblogs.com/sinosecurity/p/16687381.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有