定义一个Dog类,并在其内部定义一个内部类和一个内部静态类
public class Dog{
public Dog(){
//System.out.println("这里是外部类");
}
public void call(){
System.out.println("这里是外部类call()方法");
}
public class SubDog{
public void call(){
System.out.println("我是内部类的call()方法");
}
}
public static class ChildDog{
public void call(){
System.out.println("这里是内部静态类的call()方法");
}
}
}
实现内部类
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Dog dog = new Dog();
dog.call();
//内部类的实例化
Dog.SubDog subDog = new Dog().new SubDog();
subDog.call();
//内部静态的实例化
Dog.ChildDog childDog = new Dog.ChildDog();
childDog.call();
}
}
详细学习资料
http://android.yaohuiji.com/archives/3247
分享到:
相关推荐
5. **静态方法调用**:在静态内部类中可以直接访问外部类的静态方法和变量,但是无法直接访问非静态成员。 6. **非静态方法调用限制**:如果需要访问外部类的非静态方法或变量,则必须通过外部类的对象引用来进行...
Java和Kotlin是两种在移动开发领域广泛应用的编程语言,尤其在Android开发中占据主导地位。内部类和静态嵌套类是...在提供的资源中,"java内部类嵌套类"和"kotlin内部类嵌套类"的示例代码将帮助你进一步巩固这些概念。
本文将详细介绍如何使用Java反射技术来获取内部类中的静态成员变量的值。 #### 二、背景知识 在深入探讨之前,我们需要了解几个基本概念: 1. **内部类**:内部类是一种特殊的类,定义在另一个类(外部类)的内部。...
- **封装工具类**:静态内部类常用于封装一组相关的方法,形成工具类,如`Collections`类中的静态内部类`ArrayList`和`LinkedList`。 - **事件处理器**:在GUI编程中,静态内部类常用于创建事件处理器,如...
Java内部类是Java语言中一个独特且强大的特性,它允许我们在一个类的内部定义另一个类。内部类可以分为四种类型:静态内部类、成员内部类(非静态内部类)、局部内部类和匿名内部类。 1. **静态内部类**: 静态...
15.java静态内部类(相当于外部类).zip15.java静态内部类(相当于外部类).zip15.java静态内部类(相当于外部类).zip15.java静态内部类(相当于外部类).zip15.java静态内部类(相当于外部类).zip15.java静态内部...
比如,你可以在一个类中定义一个私有的内部类,用于实现某种算法或者提供一个特定的服务。内部类的作用域仅限于其外部类,可以访问外部类的成员,同时又能保护类的封装性。 目标: 通过这个源码资源,你将学会以下...
非静态嵌套类可以分为三种:在一个类中直接定义的内部类、在一个方法中定义的内部类和匿名内部类。匿名内部类是指没有名字的内部类,通常用于实现某个接口或继承某个类。 四、在外部类中定义内部类 在外部类中定义...
成员内部类的使用在Java编程中具有独特的价值,它能够帮助我们更好地封装代码,提高代码的组织性和可读性。以下是关于Java成员内部类的一些关键知识点: 1. **分类**:成员内部类分为两种,静态内部类(Static ...
静态内部类与普通的类类似,只是它们定义在外部类中,并且前面带有 `static` 关键字。它们不会隐含持有外部类的引用,因此无法直接访问外部类的非静态成员。静态内部类可以看作是外部类的静态成员,与外部类的其他...
- **实例内部类**:在类的内部定义的非静态类称为实例内部类。实例内部类的实例需要依赖于外部类的实例,即创建实例内部类对象前必须先创建外部类对象。 - **静态内部类**:静态内部类与实例内部类的区别在于,...
Java匿名内部类是Java语言中一个独特且强大的特性,它允许我们在不需要定义一个单独的类的情况下创建类的实例。这在处理回调、事件监听、单例模式以及其他需要短时间内定义一个简单类的情况时非常有用。本篇文章将...
总之,内部类和静态内部类是Java中独特的类设计方式,它们提供了灵活的代码组织和访问控制手段。成员内部类适合处理需要紧密关联的情况,而静态内部类则适用于实现工具类或辅助功能,并且在单例模式中有独特的优势。...
2. **成员内部类(Instance Inner Classes)**:成员内部类是定义在一个类内部的非静态类。它们可以访问外部类的所有成员,包括私有的。一个成员内部类的实例总是与外部类的一个实例相关联,因此,你不能在没有外部...
匿名类的特点是:它可以访问外嵌类中的成员变量和方法,但它的类体中不能声明静态成员变量和静态方法。匿名类一定是内部类,它可以直接使用父类的构造方法来创建对象。 在 Java 中,我们可以使用 throw 关键字来抛...
Java内部类是Java语言中的一种特殊类别,它是指定义在另外一个类内部的类。内部类可以访问外部类的所有成员变量和方法,包括私有的变量和方法。内部类可以分为四种:成员内部类、静态嵌套类、方法内部类和匿名内部...
Java内部类主要包括以下几种类型:成员内部类(非静态内部类)、静态内部类(也称为静态嵌套类)、局部内部类和匿名内部类。 - **成员内部类**:这种类型的内部类是定义在外部类的一个成员位置上,它可以访问外部类...
成员内部类中不能存在任何静态变量和静态方法。 局部内部类是定义在一个方法或者一个作用域里面的类。局部内部类就像是方法里面的一个局部变量一样,不能有public、protected、private以及static修饰符。可以直接...
- **访问外部类的成员**:内部类可以直接访问外部类的私有成员,这是内部类的一大特点,可以用来封装数据和实现更复杂的设计。 - **实现多态**:内部类可以实现接口,从而创建多重继承的效果,尽管Java不支持类的...
静态内部类不持有对外部类的引用,所以它可以像普通的静态类一样被创建和使用,但它仍然可以访问外部类的静态成员。 接口内部类是一种特殊的内部类,它定义在接口内部。这种类只有在接口中才能被声明,它提供了接口...