美文网首页
JAVA核心技术总结(五六章)继承&接口与内部类

JAVA核心技术总结(五六章)继承&接口与内部类

作者: 五月的约修亚 | 来源:发表于2017-03-10 17:15 被阅读0次

第五章 继承

  1. 在Java中,所有的继承都是公有继承,没有C++的私有继承和保护继承
  2. Java同C++一样,子类不能直接访问基类的私有成员,必须通过公有接口访问
  3. C++和Java构造器中构造基类的不同,Java写在函数内,C++写在函数外
    Java使用super调用基类构造器:
public Manager(String n, double s, int year, int month, int day)
{
    super(n, s, year, month, day);   //必须放在子类构造器的第一条语句
    bonus = 0
}

C++使用初始化列表调用基类构造函数:

Manager::Manager(String n, double s, int year, int month, int day):Employee(n,s,year,month,day)
{
    bonus = 0;
}
  1. 判断类类型
    可用instanceof运算符(注意子类 instanceof 基类 结果也为真)
    也可用Object.getClass()
  2. 抽象方法的声明
public abstract String getDescription();

拥有抽象方法的类必须被声明为抽象类

  1. 所有类的超类Object中equals()方法详解:
    在子类没有覆盖equals时,equals的作用等同于==,即比较两个引用是否指向同一对象(同一地址)
    equals的真正作用是可以被子类重写,比较两对象的内容是否相等
  2. Object中继承toString(),该方法是对该类的字符串描述,需要在子类中覆盖,程序员手工填写,在以下两种情况下自动调用toString()
  • System.out.println( x )中自动调用x.toString()
  • 将x与String str相加时:也就是说所有x.toString()都可以用""+x替代
  1. 若想在子类中写一个覆盖基类的方法,则可在方法前加上@override,这样若没有覆盖成功则报错

第六章 接口与内部类

  1. 接口中所有的方法都自动属于public
  2. 一个类实现多个接口时,使用逗号连接接口,如
class Employee implements Cloneable, Comparable
  1. 标记接口如Cloneable没有任何方法和属性(因为clone函数是从Object中继承的),只是表明该类拥有某些功能,并且可以用if(Obj instanceof Cloneable)做判断
  2. java可以返回局部对象的引用,因为只要有引用指向某个对象,该对象就不会被gc销毁
  3. 接口也可以继承(扩展)接口
public interface facename1 extends facename2
  1. 内部类既可以访问自身的数据域也可以访问创建他的外围类对象的数据;可以显示的写为(outer.data)
  2. 定义在类的函数中的内部类称为 局部类 ,局部类不能为publicprivate
  3. 局部类可以访问外围变量,但外部不可以访问局部类
  4. 匿名内部类应用场景:创建一个只使用一次的类;
    声明后紧跟着内部实现就是匿名内部类,如:
Person count = new Person("Dracula"){......}
  1. 静态内部类的对象不可访问外围类对象,与其他所有内部类完全一样。
  2. ArrayList的用法,当声明ArrayList<Integer>时只能存放Integer等引用类型, 而不可声明为intfloat等基本数据类型,只能存放对象
    当不指定数据类型时,其内部可以存放不同数据类型

相关文章

  • JAVA核心技术总结(五六章)继承&接口与内部类

    第五章 继承 在Java中,所有的继承都是公有继承,没有C++的私有继承和保护继承 Java同C++一样,子类不能...

  • 浅谈Java内部类

    由于Java核心技术上的例子很不错,本篇内部类博客部分代码以Java核心技术上的例子进行讲解。 内部类总览 内部类...

  • Java自学-接口与继承 内部类

    Java 内部类 内部类分为四种: 非静态内部类静态内部类匿名类本地类 步骤 1 : 非静态内部类 非静态内部类 ...

  • Java核心技术--接口与内部类

    6.1 接口implement 继承接口,即履行“义务” 接口中所有的方法自动属于public,在接口声明中,不必...

  • PHP转JAVA的记录

    Java 数组 内部类 内部类的创建:内部类可以对包内其他类隐藏想实现一个接口时, 不想新建类文件 内部类可以访问...

  • [Java 编程思想]第十章

    内部类 定义:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部...

  • Java中可实现多继承的三种方法(多层继承/内部类/接口)

    Java不支持多继承,但是通过一些巧妙的设计来达到和多继承同样的效果 :通过继承、内部类和接口互相配合,达到多继承...

  • 内部类

    内部类:可以继承,可以实现接口 内部类,可以使用外部成员,包括私有 外部类,使用内部类成员,必须建立 内部类...

  • 匿名内部类和包装类

    匿名内部类 匿名内部类会隐式的继承一个类或者实现一个接口,或者说,匿名内部类是一个继承了该类或者实现了该接口的子类...

  • 面向对象总结

    面向对象思想 类与对象 定义类格式: 面向对象的三大特征 封装 继承 多态: 抽象类 接口 内部类 匿名内部类: ...

网友评论

      本文标题:JAVA核心技术总结(五六章)继承&接口与内部类

      本文链接:https://www.haomeiwen.com/subject/bvkogttx.html