`
xiaoxuan_blog
  • 浏览: 28911 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java基础之多态,内部类,匿名内部类

阅读更多

 

多态:

 

 

可以理解为事物存在的多种提现形态。

人: 男人,女人

动物:猫,狗

<!--[if !supportLists]-->1.<!--[endif]-->多态的提现

父类的引用指向了自己的子类对象。

父类的引用也可以接受自己的子类对象。

 

<!--[if !supportLists]-->2.<!--[endif]-->多态的前提

必须是类与类之间有关系,要么继承,要么实现。

通常还有一个前提:存在覆盖。

 

<!--[if !supportLists]-->3.<!--[endif]-->多态的好处

多态的出现大大的提高程序的扩展性。

 

<!--[if !supportLists]-->4.<!--[endif]-->多爱的应用

提高了扩展性,但是只能使用父类的引用访问父类中的成员。

 

<!--[if !supportLists]-->5.<!--[endif]-->多态的应用

 

----------------------------------------------------------------------------------------------------------------------

内部类访问规则

 

<!--[if !supportLists]-->1.<!--[endif]-->内部类可以直接访问外部类中的成员,包括私有。

  之所以可以直接访问外部类中的成员,是因为内部类中持有了一个外部类的引用,格式:外部类名.this

2.外部类药访问内部类,必须建立内部类对象。

 

访问格式:

1.当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中

 可以直接建立内部类对象。

  格式: 外部类名.内部类名  变量名 外部类对象.内部类对象;

   Outer.Inner    in    =   new  Outer().new Inner();

<!--[if !supportLists]-->2.<!--[endif]-->当内部类在成员位置上,就可以被成员修饰符所修饰 。

比如:private  :将内部类在外部类中进行封装。

  Static   :内部类就具备了static的特性。

     当内部类被static修饰后,只能直接访问外部类中的static成员。出现了访问局限。

 

在外部其他类中,如何直接访问static内部类的非静态成员呢?(面试)

New Outter.Inner().function();

在外部其他类中,如何直接访问static内部类的静态成员呢?

outer.Inner.function();

注意:当内部类中定义了静态成员,该内部类必须是static的。

     当外部类中的静态方法访问内部类时, 内部类也必须是static的。

----------------------------------------------------------------------------------------------------------------------

匿名内部类:

 

<!--[if !supportLists]-->1.<!--[endif]-->匿名内部类其实就是内部类的简写格式。

<!--[if !supportLists]-->2.<!--[endif]-->定义匿名内部类的前提: 内部类必须是继承一个类或者实现接口。

<!--[if !supportLists]-->3.<!--[endif]-->匿名内部类的格式: new 父类或接口( ) { 定义子类的内容 }

<!--[if !supportLists]-->4.<!--[endif]-->其实匿名内部类就是一个匿名子类对象,且这个对象有点胖,可以理解为带内容的内对象。

<!--[if !supportLists]-->5.<!--[endif]-->匿名内部类中定义的方法最好不要超过3个。

 

<!--EndFragment-->

分享到:
评论

相关推荐

    Java基础知识点.html

    Date类 自动拆箱和自动装箱 Arrays 类和接口的关系 内部类 成员内部类 局部内部类 匿名内部类 抽象类 接口 多态 封装 类和对象 方法 StringBuilder类 String类 static for循环 final 权限修饰符 跳转控制语句 while...

    Java基础笔记.md

    包含jdk的安装(建议安装版本1.8),java语言概念、基本数据类型、条件控制、面向对象基本概念、继承和多态、接口、java异常处理、内部类和匿名类。通俗易懂,易于理解的大纲。希望对大家有帮助!!!

    java内部学习笔记.docx

    Java技术基础 4 1.1编程语言 4 1.2 Java的特点 4 1.3 Java开发环境 4 1.4 Java开发环境配置 5 1.5 Linux命令与相关知识 5 1.6 Eclipse/Myeclipse程序结构 6 Java语言基础 7 2.1基础语言要素 7 2.2八种基本数据类型 7...

    Java开发技术大全(500个源代码).

    anonymousInner.java 匿名内部类 base.java 定义一个基类 BaseColors.java 一个简单的接口 basePoint.java 一个测试用的基类 Colorable.java 一个子接口 ColoredPoint.java 一个测试用子类 common.java 一个...

    java基础案例与开发详解案例源码全

    8.1.4 匿名内部类211 8.2 对象包装器213 8.3 装箱和拆箱216 8.4 本章习题218 第9章 9.1 String类220 9.1.1 字符串常量221 9.1.2 字符串对象操作224 9.1.3 字符串对象修改228 9.1.4 类型转换230 9.2 StringBuffer类的...

    Java面试题.docx

    9、成员内部类、静态内部类、局部内部类和匿名内部类的理解,以及项目中的应用 10、string 转换成 integer的方式及原理 11-20题: 11、哪些情况下的对象会被垃圾回收机制处理掉? 12、静态代理和动态代理的区别...

    JAVA入门1.2.3:一个老鸟的JAVA学习心得 PART1(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    Java入门1·2·3:一个老鸟的Java学习心得.PART3(共3个)

    3.4 小结:基本数据类型—— Java中一切数据和运算的基础 63 3.5 习题 65 第4章 Java中的程序执行流程 67 教学视频:1小时57分钟 4.1 顺序执行 67 4.2 使用if-else让程序懂得判断 68 4.2.1 if语句 68 4.2.2 ...

    corejava培训文档

    匿名内部类 7.12. 集合 7.12.1. 集合接口类层次 7.12.2. 集合类层次 7.12.3. 五个最常用的集合类之间的区别和联系 7.12.4. 比较 7.13. 反射 8. 七 异常 8.1. 异常的基本概念 8.2. 捕获异常 8.3. ...

    Java面试宝典2017.zip

    28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = ...

    Java面试宝典

    一. Java基础部分 7 1、一个".java"源文件中是否可以包括多个类(不是内部类)?...28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21

    java基础题 很全面

    68. Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 15 69. LINUX下线程,GDI类的解释。 15 70. java常用的设计模式?说明工厂模式。 15 71. 内部类可以...

    java初学者必看

    10.5 匿名内部类 10.5.1 继承式 10.5.2 接口式 10.5.3 参数式 10.6 静态嵌套类 10.7 内部类的继承 10.8 本章习题 第11章 线程 11.1 线程基础 11.1.1 什么是线程 11.1.2 Thread创建线程 11.1.3 Thread创建...

    21天学通Java-由浅入深

    245 12.3.3 在外部类外访问静态内部类 246 12.4 匿名内部类 247 12.4.1 创建匿名内部类 247 12.4.2 匿名内部类的初始化 249 12.5 综合练习 250 12.6 小结 250 12.7 习题 250 第13章 多线程(精彩视频:55分钟) 252 ...

    Java面试宝典2011版

    28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = "Hello...

    疯狂JAVA讲义

    6.7.5 匿名内部类 212 6.7.6 闭包(Closure)和回调 215 6.8 枚举类 217 6.8.1 手动实现枚举类 217 6.8.2 枚举类入门 219 6.8.3 枚举类的属性、方法和构造器 220 6.8.4 实现接口的枚举类 223 6.8.5 包含抽象...

    java 面试常问的问题 如何回答

    28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 29、super.getClass()方法调用 21 30、String是最基本的数据类型吗? 22 31、String s = "Hello...

    java学习笔记 初学者必读

    7.11.5. 匿名内部类 7-31 7.12. 集合 7-31 7.12.1. 集合接口类层次 7-32 7.12.2. 集合类层次 7-33 7.12.3. 五个最常用的集合类之间的区别和联系 7-33 7.12.4. 比较 7-35 7.13. 反射 7-37 8. 七•异常 8-37 8.1. 异常...

    Java问题宝典2012版

    28、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 23 29、super.getClass()方法调用 23 30、String是最基本的数据类型吗? 24 31、String s = "Hello...

Global site tag (gtag.js) - Google Analytics