(java知识小总结二)2018-05-31

5.2Java 中的静态内部类:静态内部类是 static 修饰的内部类

特点:(1)、 静态内部类不能直接访问外部类的非静态成员,但可以通过 new 外部类().成员的方式访问

(2)、 如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名”直接调用外部类的静态成员

(3)、 创建静态内部类的对象时,不需要外部类的对象,可以直接创建内部类 对象名= new 内部类();

例子:

5.3Java 中的方法内部类:方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内可以使用。

一定要注意哦:由于方法内部类不能在外部类的方法以外的地方使用,因此方法内部类不能使用访问控制符和 static 修饰符。

例子:

三.继承

1.特点:java中的继承是单继承, 一个类只能有一个父类。

2.继承的好处:(1)子类拥有父类所有的属性和方法(不允许用private修饰)

                       (2)实现代码的复用

3.方法的重写:子类重写继承父类的方法。规则:返回值类型,方法名,参数类型及个数都要与

父类继承的方法相同。

4.继承的初始化顺序:(1)先初始化父类再初始化子类

                                    (2)先执行初始化对象中的属性,再执行构造方法中的初始化

5.final修饰属性:则该类的属性不会进行隐式的初始化(类的初始化属性必须有值)或在构造方法

中进行初始化(二者选其一)。如果final修饰了属性,则不能在其它位置修改属性的值。

6.super的应用:

(1)如果子类的构造方法中没有显示调用父类的构造方法,则系统默认调用父类无参的构造方法。

(2)子类调用父类的构造方法必须放在子类构造方法的第一行。

(3)如果子类构造方法中既没有显示调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。

7.Object类中equals()方法:比较的是对象的应用是否指向同一块内存地址。只要new一个对象,就为对象开辟一块儿内存区域。equals相当于“==“。

四.多态:对象的多种形态

1.引用的多态

(1)父类的引用可以指向本类的对象

(2)父类的引用可以指向子类的对象

例如:Dog是Animal的子类

Animal obj1=new Animal();(1)

Animal obj2=new Dog();(2)

2.方法的多态

(1)创建本类对象时,调用的是本类的方法

(2)创建子类对象时,调用的对象为子类继承的方法或者是子类重写的方法

注意:如果子类有自己的方法,是不能通过父类引用来调用子类的方法

例如:子类中有自己写的Watch()方法,则不能obj2.Watch();这样是错的

3.引用类型的转换:

(1)向上类型的转换(自动类型转换),是小类型到大类型的转换。

(2)向下类型的转换(强制类型转换),是大类型到小类型的转换。这种转换存在风险,可以用instanceof运算符来解决引用对象的类型,避免类型转换的安全性问题。

4.接口,java中的类是单继承的,而接口是可以多继承的。接口中定义的变量都是常量。如果要继承父类,继承父类必须在实现接口之前。

5.UML中“-”表示属性是私有的,“+“表示属性是共有的

6.两个类必须是继承关系,才能用多态

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 10月最后一天了,讲道理这个月对我来说变化真的蛮大的,从月初来上海这边到现在马上就一个月了,从刚到时候已经约了面试...
    丶Saikaka阅读 245评论 0 0
  • 【简书观剧团】又一重大福利来袭!!!! 为各位爱看剧、想看剧的新老剧迷们一次性整理出最棒的剧集清单,从此告别剧荒期...
    简书观剧团阅读 829评论 0 4
  • 真的努力是不会辜负自己的,不要觉得自己运气好就可以无所谓,只不过是天道酬勤。
    黑藤z阅读 301评论 0 0
  • 道慈早安分享!(每日学习经典一句) 子曰:“智者乐水,仁者乐山;智者动,仁者静;智者乐,仁者寿。” 【注】乐:粤音...
    道慈阅读 198评论 0 1

友情链接更多精彩内容