欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

java匿名内部类举例和内部类举例

发布时间:2025/4/16 编程问答 3 豆豆
生活随笔 收集整理的这篇文章主要介绍了 java匿名内部类举例和内部类举例 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

public class Test {
public static void main(String[] args) {
//4.匿名内部类
//主要是针对那些不能直接创建对象的抽象类和接口而来的
Student stu=new Student();
System.out.println(stu.getClass());//class com.aowin.noname.Student
//4.1.通过实体类创建匿名内部类对象
//相当于创建该类的一个子类对象
Person p=new Person(){
public void eat(){
System.out.println("吃八元套餐");
}
};
p.eat();
System.out.println(p.getClass());//class com.aowin.noname.Test$1//系统自动为子类命名Test$1

Dog dog=new Dog();dog.bark();//4.2.通过抽象类创建匿名内部类对象//相当于定义了该抽象类的一个子类对象,并重写了抽象类中所有的抽象方法Animal an=new Animal(){public void bark(){System.out.println("汪汪汪...");}};an.bark();//返回的是包名加类名System.out.println(an.getClass());//class com.aowin.noname.Test$2//4.3.通过接口创建匿名内部类对象//相当于定义了该接口的一个实现类对象,并重写了接口中所有的抽象方法Sportable s=new Sportable(){public void sport(){System.out.println("打篮球");}};s.sport();System.out.println(s.getClass());//class com.aowin.noname.Test$3}

}
//实体类
class Person{
public void eat(){
System.out.println("吃饭");
}
}
class Student extends Person{
public void eat(){
System.out.println("吃八元套餐");
}
}
//抽象类
abstract class Animal{
public abstract void bark();
}
class Dog extends Animal{
public void bark() {
System.out.println("汪汪...");
}
}
//接口
interface Sportable{
public abstract void sport();
}


内部类
package thinking.learnInternalClass.hengbao;

public class DotNew {
public class Inner{

} public static void main(String[] args) {DotNew dn=new DotNew();DotNew.Inner dni=dn.new Inner(); }

}
//要想直接创建内部类的对象,不能按照想象的方式,去引用外部类的名字DotNew,而必须使用外部类的对象来创建内部类对象,

转载于:https://blog.51cto.com/12267285/2135792

总结

以上是生活随笔为你收集整理的java匿名内部类举例和内部类举例的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。