• 静态内部类与非静态内部类


    最大区别,静态内部类只有一个与外围类的对应实例,而 非静态内部类只要每被调用一次都会有一个实例与外围类对应,比较耗费资源空间

    非静态内部类

    import java.util.Locale;
     public class TestCalc{
    //非静态内部类
    public static void main(String[] args) {
            String name="let go";
            TestCalc tc=new TestCalc();        
             //必须要有外围实例  比如 TestCalc类的实例tc
            tc.new InnerClass().sayhello(name);          
        }
    
    
      private void AroundCall()
      {
        System.out.println("THIS IS CALL  AroundCall ");
      }
    
    
       private  class InnerClass{
    
          public void sayhello(String name)
          {
                System.out.println(name + "  welcome afertnoon !");
                AroundCall();
          }
       } 
     } 

    静态内部类

     import java.util.Locale;
     public class TestCalc{
    //静态内部类    
     public static void main(String[] args) {
            String name="let go";
           //不需要外围实例  [1] [2] 都可以
           // new InnerClass().sayhello(name);   //[1]       
           new TestCalc.InnerClass().sayhello(name);//[2] 
    
        }
    
    
      private void AroundCall()
      {
        System.out.println("THIS IS CALL  AroundCall ");
      }

      

      private static void staticAroundCall()
      {
        System.out.println("THIS IS CALL staticAroundCall ");
      }

    public static class InnerClass{
    
          public void sayhello(String name)
          {
                System.out.println(name + "  welcome afertnoon !");
           //AroundCall(); 编译不通过
    new TestCalc().AroundCall();
           staticAroundCall();//可以直接访问外围静态方法 } } }

    局部类 是只能在方法里面创建的类,并且不能定义为public,protected,private或者static类型

    匿名内部类没有类名,没有class关键字也没有extends和implements等关键字修饰。
    匿名内部类会隐式地继承一个父类或实现一个接口。这个例子最典型的就是 button事件,实现监听,并且有处理响应:

    button.addActionListener(new ActionListener(){
             //实现接口中的方法
            @Override
             public void actionPerformed(ActionEvent e) {
                System.out.println("使用匿名内部类实现ActionListener接口");
             }
         });
  • 相关阅读:
    “家亡血史,原应叹息”
    SQLite初体验
    两张表数据同步用触发器
    openstack 后期维护(四)--- 删除僵尸卷
    Python3 装逼神器---词云(wordcloud)
    (三)FastDFS 高可用集群架构学习---Client 接口开发
    (四)FastDFS 高可用集群架构学习---后期运维--基础知识及常用命令
    (二)FastDFS 高可用集群架构学习---搭建
    (一)FastDFS 高可用集群架构学习---简介
    Python3使用Print输出彩色字体
  • 原文地址:https://www.cnblogs.com/rojas/p/5337315.html
Copyright © 2020-2023  润新知