zoukankan      html  css  js  c++  java
  • 匿名内部类

    匿名内部类

     1 interface IMessage{
     2     public void print();
     3 }
     4 public class Newbegin{
     5     public static void main(String args[]) {
     6         IMessage msg=new IMessage(){
     7             public void print(){
     8                 System.out.println("hello world!");
     9             }    
    10         };
    11         fun(msg); 
    12     }
    13     public static void fun(IMessage temp){
    14         temp.print();
    15     }
    16 }

    通过这样的程序我们可以得出一个结论:基本上搞匿名内部类都是在接口或者抽象类的形式上完成

    范例:在抽象类中使用匿名内部类

     1 abstract class Message{
     2     public void print(){
     3         System.out.println(this.getInfo());
     4     }
     5     public abstract String getInfo();
     6 }
     7 public class Newbegin{
     8     public static void main(String args    []) {
     9         fun(new Message(){
    10             public String getInfo(){
    11                 return "www.jiayou.com";
    12             }
    13         });
    14     }
    15     public static void fun(Message temp){
    16         temp.print();
    17     }
    18 }

    强调了:一个普通类尽量不要再去由子类继承,能够继承的只是抽象类和接口,所以可以在普通类上使用匿名内部类的形式来定义子类,但是从正常的开发逻辑这些是错误的

  • 相关阅读:
    Django REST framework
    容器平台自动化CI/CD流水线实操
    VUE--webpack
    vue动态路由匹配
    VUE学习---vue基础与vue-router
    MYSQL-创建测试数据
    MYSQL-主键、外键
    MYSQL-数据库、表、数据操作
    MySQL-添加环境变量 及MySQL服务启停
    MYSQL-命令行
  • 原文地址:https://www.cnblogs.com/Tony98/p/10412161.html
Copyright © 2011-2022 走看看