类和对象三

简介: 类和对象三

Dog(); // Dog对象赋值给Speakable引用

复制代码

 

// 调用抽象类和接口中定义的方法

 

animal.makeSound(); // 输出 "The dog barks."

 

speakable.speak(); // 输出 "The dog says, 'Woof!'"

 

}

}

复制代码

 

**Java类和对象实例(七):内部类**

 

 

 

内部类(Inner Class)是定义在另一个类内部的类。内部类可以访问外部类的私有成员,这是它们的主要优势之一。内部类可以分为四种类型:静态内部类、实例内部类、局部内部类和匿名内部类。

 

 

 

**静态内部类(Static Inner Class)**

 

 

 

静态内部类不需要外部类对象即可创建实例,它们只能访问外部类的静态成员。

 

 

 

```java

 

public class OuterClass {

 

static int outerVariable = 100;

 

 

 

// 静态内部类

 

static class StaticInnerClass {

 

void display() {

 

System.out.println("This is a static inner class.");

 

System.out.println("outerVariable = " + outerVariable);

 

}

 

}

 

 

 

public static void main(String[] args) {

 

// 创建静态内部类的实例,不需要外部类对象

 

StaticInnerClass innerObject = new StaticInnerClass();

 

innerObject.display();

 

}

 

}

实例内部类(Instance Inner Class)

实例内部类需要外部类对象才能创建实例,它们可以访问外部类的所有成员(包括私有成员)。

java复制代码

 

public class OuterClass {

 

private int outerVariable = 100;

 

 

 

// 实例内部类

 

class InstanceInnerClass {

 

void display() {

 

System.out.println("This is an instance inner class.");

 

System.out.println("outerVariable = " + outerVariable);

 

}

 

}

 

 

 

public void show() {

 

// 创建实例内部类的实例,需要外部类对象

 

InstanceInnerClass innerObject = new InstanceInnerClass();

 

innerObject.display();

 

}

 

 

 

public static void main(String[] args) {

 

OuterClass outerObject = new OuterClass();

 

outerObject.show();

 

}

 

}

局部内部类(Local Inner Class)

局部内部类是在方法内部定义的类,它们只能访问定义它们的方法的final变量。

java复制代码

 

public class OuterClass {

 

public void someMethod() {

 

final int x = 10;

 

 

 

// 局部内部类

 

class LocalInnerClass {

 

void display() {

 

System.out.println("This is a local inner class.");

 

System.out.println("x = " + x);

 

}

 

}

 

 

 

// 创建局部内部类的实例

 

LocalInnerClass innerObject = new LocalInnerClass();

 

innerObject.display();

 

}

 

 

 

public static void main(String[] args) {

 

OuterClass outerObject = new OuterClass();

 

outerObject.someMethod();

 

}

 

}

匿名内部类(Anonymous Inner Class)

匿名内部类是没有名字的内部类,它们通常用于实现接口或扩展类,并且只使用一次。

java复制代码

 

public class OuterClass {

 

interface MyInterface {

 

void doSomething();

 

}

 

 

 

public void useInterface() {

 

// 创建匿名内部类实例

 

MyInterface myObj = new MyInterface() {

 

@Override 

 

public void doSomething() {

 

System.out.println("Doing something anonymously.");

 

}

 

};

 

 

 

// 调用接口方法

 

myObj.doSomething();

 

}

 

 

 

public static void main(String[] args) {

 

OuterClass outerObject = new OuterClass();

 

outerObject.useInterface();

 

}

 

}

这些示例涵盖了Java中类和对象的基本概念,包括封装、继承、多态、抽象、接口和内部类。通过理解这些概念,你可以更好地组织你的代码,并编写出更可维护和可扩展的程序。

 

冷辞
+关注
目录
打赏
0
2
2
1
31
分享
相关文章
【C++】类和对象(四)
【C++】类和对象(四)
【C++】类和对象(二)
类和对象(二) 类中有六个默认成员函数: 编译器会自动生成以下6个默认成员函数。 默认成员函数:用户没有显式实现,编译器会生成的成员函数称为默认成员函数。
65 0
【c++】理解类和对象
【c++】理解类和对象
【c++】理解类和对象
|
10月前
|
[c++]类和对象常见题目详解
[c++]类和对象常见题目详解
44 0
2. C++的类和对象
2. C++的类和对象
49 0
C嘎嘎之类和对象下
C嘎嘎之类和对象下
71 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等