学习Java的第13天
今天学习了面向对象中的抽象方法和z抽象类、接口的作用h和如何定义和使用接口,还有接口的多继承性,面向接口的编程和内部类,String类和常量池等,也是在这一天第一次阅读了API文档。
抽象方法的特征包括:抽象方法不允许有方法体,只能以分号“;”结尾 ,抽象方法只能声明在抽象类中 (含有抽象方法的类必须是抽象类) ,抽象类中可以包含 0 个或多个抽象方法 ,抽象方法必须被子类实现,如果子类不能实现父类中的抽象方法,那么子类也必须是抽象类 。
接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…”的思想。接口完全支持多继承。和类的继承类似,子接口扩展某个父接口,将会获得父接口中所定义的一切。
接口和类的关系是类要去实现接口中的抽象方法,实现关系,implement。当一个类既存在继承关系,又存在实现关系时,继承“extends”在前,实现“implement”在后。如果父类与接口中有完全相同的方法(一摸一样),子类所实现的方法是父类的中的方法,父类优先于接口。子类通过implemens来实现接口中的规范,一个类实现了接口,必须实现接口中的所有的方法,并且这些方法只能是public的。
一般情况,我们把类定义成独立的单元。有些情况下,我们把一个类放在另一个类的内部定义,称为内部类(innerclasses)。内部类可以使用public、default、protected 、private以及static修饰。而外部顶级类(我们以前接触的类)只能使用public和default修饰。在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。
String位于java.lang包中,Java程序默认导入java.lang包下的所有类。常量池分为:全军字符串常量池(String pool);class文件常量池(class constant pool);运行时常量池(Runtime constant pool)。
每天学习的内容都不算少,后面每天的任务也会逐渐增大,这更需要有效率的去学习,根据自身能力去平衡知识的深究和注重知识架构的建立。时刻用心才是不变的硬道理!