`

Java--类和接口--常规内部类,静态内部类,局部内部类,匿名内部

阅读更多
转http://blog.csdn.net/dong2008hong/article/details/8585605
 

Java--类和接口--常规内部类,静态内部类,局部内部类,匿名内部

分类: java知识 140人阅读 评论(0) 收藏 举报

内部类 
在类内部的类
1.解决多继承
2.解决继承和实现接口时候方法名冲突情况
3.实现数据隐藏

 只有内部类可以拥有4种访问修饰符
 当内部类为private的时候,有外部类提供方法来访问内部类

   
 常规内部类
 1.不能有静态属性和方法
2.内部类可以使用外部类的所有属性和方法
3.外部类不能直接使用内部类的属性和方法,使用前必须先实例化

 如果内部类的属性和方法屏蔽了外部类方法
   外部类.this.属性/方法 
来调用外部类的属性和方法
    
   静态内部类
 可以包含静态方法和属性
 不需要再实例化外部类
StaticOutter.StaticInner in = 
    new StaticOutter.StaticInner();
    
   局部内部类
 在方法内部的内部类
1.不能有访问修饰符
2.可以访问方法中的局部变量和类中的所有属性、方法
3.如果出现局部内部类屏蔽方法内部局部变量,在局部内部类内部不能在访问到该局部变量

   
 匿名内部类
    回调方法,没有类名的内部类
1.子类中只有一个无参构造器
2.必须马上实例化
    
   抽象类
 以abstract声明的类
 只要一个类中包含一个抽象方法,这个类一定是抽线类
 抽象类中不一定包含抽象方法
 抽象类可以继承抽象类,所有抽象方法方法由第一个非抽象子类实现

   抽象方法,由第一个非抽象子类实现
   只要有一个抽象方法,类必须为抽象类
   抽象类不一定包含抽象方法
   不能抽象属性
   抽象方法不能声明为private或者final方法
   
   
 接口:interface:
   解决java多继承
 接口不是类,是对一组要求的描述
100%抽象
 所有方法均为抽象方法

 所有方法默认为abstract方法,所以可以不用将方法标记为abstract
所有变量默认为static final变量

   
implements:实现接口
class A implements Interface
接口继承接口,接口可以实现多继承
interface B
 interface C
 interface A extends B, C

游戏开发论坛:http://jiushun8.com/forum.php?mod=viewthread&tid=3817&extra=page%3D1

分享到:
评论

相关推荐

    Java ---- 局部内部类 静态内部类 普通内部类

    Java ---- 局部内部类 静态内部类 普通内部类

    java接口与内部类教学PPT

    1.接口-简介 2.接口-作用 3.接口-定义方式 4.接口-实现 5.接口-与抽象类之区别 6.接口-应用示例(设计模式...内部类-局部内部类 12.内部类-匿名内部类 13.内部类-静态内部类 14.综述

    java代码笔记2010-06-01:Java内部类 静态内部类 局部内部类 明明内部类;StringBuffer reverse的使用;

    内部类可以分为四种类型:静态内部类、成员内部类(非静态内部类)、局部内部类和匿名内部类。 1. **静态内部类**: 静态内部类与普通的成员内部类不同,它不持有对外部类的引用。因此,可以像其他静态成员一样,...

    java语言--内部类总结

    - 匿名内部类:没有名称的内部类,通常用于实现接口或抽象类的快速定义,常见于事件处理和回调机制中。 3. 使用方法 - 成员内部类的使用: - 外部类的非静态方法可以通过创建内部类的实例来访问成员内部类的方法...

    Java的内部类讲解案例代码(成员内部类、局部内部类、匿名内部类、静态内部类、外部类访问四种内部类、其他类访问四种内部类...)

    - 不同类型的内部类(静态内部类、成员内部类、局部内部类和匿名内部类)的区别和用法 - 内部类的优缺点以及使用场景 这些目标将帮助你理解和掌握内部类的概念,并能够在适当的时候使用内部类来解决问题...

    Java4Android 35_内部类和匿名内部类

    在Java编程语言中,内部类和匿名内部类是两种特殊类型的类,它们为代码的组织和功能实现提供了独特的灵活性。本教程"Java4Android 35_内部类和匿名内部类"深入探讨了这两个概念,旨在帮助开发者更好地理解和运用它们...

    使用内部和匿名类优化Java代码

    Java 1.1 引入了内部类和匿名类,这两种特性极大地增强了代码的灵活性和可读性。内部类是指定义在另一个类内部的类,它可以是静态的或非静态的,根据其是否需要访问外部类的实例成员来区分。静态内部类与普通类的...

    内部类知识总结3--匿名内部类

    内部类可以是静态的,也可以是非静态的,而匿名内部类则是一种没有名字的内部类,通常用于快速实现简单的回调或者接口实现。这篇总结将深入探讨匿名内部类的相关知识点。 1. **匿名内部类的概念** 匿名内部类是...

    java 匿名内部类的使用规范

    Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他需要短时间内定义一个简单类的情况时非常有用。本篇文章将...

    java 内部类使用(内部匿名类)

    Java内部类是Java语言提供的一种独特机制,它允许在一个类的内部定义另一个类。这种设计模式使得代码结构更紧凑,可以更好地封装和隐藏实现细节,同时也增强了代码的复用性。内部类分为几种类型,包括成员内部类、...

    java 静态内部类的使用规范

    Java语言中的静态内部类,也称为嵌套类,是内部类的一种特殊形式,它与非静态内部类(也称为成员内部类)相比有着独特的特点和使用场景。在深入探讨其使用规范之前,我们先理解静态内部类的基本概念。 静态内部类不...

    编程语言-Java语言-关于内部类的分类和认识

    Java语言中的内部类根据定义的位置和访问权限可以分为四类:成员内部类、局部内部类、匿名内部类和静态内部类。成员内部类是定义在类的内部且与类的实例相关联的类;局部内部类是定义在方法或作用域内的类;匿名内部...

    mysql-connector-java-5.1.40.zip和mysql-connector-java-5.1.10.jar

    本文将深入探讨这两个文件:"mysql-connector-java-5.1.40.zip" 和 "mysql-connector-java-5.1.10.jar",以及它们在Java开发中的作用。 首先,`mysql-connector-java-5.1.40.zip` 是一个压缩文件,包含了MySQL ...

    内部类 匿名内部类 内部接口 对比说明

    总结一下,内部类、匿名内部类和内部接口在Java编程中提供了一种强大的工具,它们可以帮助我们更好地组织代码,实现封装和模块化。在Android开发中,它们常用于事件监听、线程管理、回调函数等场景,增强了代码的...

    java和kotlin的内部类静态嵌套类

    内部类分为四种类型:成员内部类、局部内部类、匿名内部类和静态嵌套类。其中,静态嵌套类是与外部类关联但不持有对外部类的引用,因此它可以像普通类一样被静态引用,而无需外部类实例。 Java的静态嵌套类通常用于...

    Java接口和内部类教程

    内部类分为几种类型:成员内部类、局部内部类、匿名内部类和静态内部类。每种类型的内部类都有其独特的用途和特点。 ##### 3.2.1 成员内部类 成员内部类是最常见的内部类形式,它作为外部类的一个成员出现。它可以...

    java静态内部类(嵌套类)

    2. **不能访问外部类的非静态成员**:由于静态内部类与外部类的静态属性和方法处于相同的静态上下文中,因此静态内部类无法访问外部类的非静态成员变量或方法。 3. **命名空间独立**:静态内部类有自己的命名空间,...

    java 利用反射获取内部类静态成员变量的值操作.docx

    ### Java 利用反射获取内部类静态成员变量的值操作 #### 一、引言 在Java编程中,反射是一个非常强大的工具,它允许程序在运行时检查类、接口、字段和方法的信息,并且能够创建和操作对象。本文将详细介绍如何使用...

    JAVA 内部类 PPT

    Java内部类是Java语言的一个独特特性,它允许我们在一个类的内部定义另一个类。这种设计提供了更高级别的封装和组织代码的方式。以下是关于内部类及其相关知识点的详细说明: 1. **内部类基本语法** - **实例内部...

    Java中的内部类和匿名类

    Java 中的内部类和匿名类 Java 中的内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在 C++ 里也有,那就是嵌套类(Nested Class)。内部类从表面上看,就是在类中又定义了一个类,而实际上并没有那么...

Global site tag (gtag.js) - Google Analytics