package com.lbj.javase19;
/**
 * 关于静态内部类:
 *     
 *     1.静态内部类可以等同看做静态变量
 * 
 *         内部类重要的作用:可以直接访问外部类中私有的数据
 * 
 *     2.静态内部类可以直接访问外部类的静态数据,无法访问成员
 * 
 * 
 * 
 * @author 14811
 *
 */
public class OuterClass {

//静态变量
    private static String s1="A";
    
    //静态方法
    private static void m1(){
        System.out.println("static m1 method");
    }
    
    //成员变量
    private String s2="B";
    
    //成员方法
    private void m2(){
        System.out.println("m2 method");
    }
    
    //静态内部类
    //可以用访问控制权限的修饰符修饰
    //public/protected/private/缺省
    static class InnerClass{
        
        //静态方法调用本类中的静态方法和静态变量
        public static void m3(){
            System.out.println(s1);
            m1();
            
//            System.out.println(s2);
//            m2();静态类中无法访问成员方法和成员变量
        }
        
        //成员方法
        public void m4(){
            System.out.println(s1);
            m1();
            
//            System.out.println(s2);
//            m2();
            
        }
        
    }
    
    
    //入口哦
    public static void main(String[] args){
        //执行m3
        OuterClass.InnerClass.m3();//访问静态内部类中的静态方法
        //执行m4
        InnerClass inner=new OuterClass.InnerClass();
        inner.m4();//访问静态内部类中的成员方法,需要实例化对象
        
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
}

JAVA入门级教学之(静态内部类)相关推荐

  1. JAVA入门级教学之(接口)

    目录 JAVA入门级教学之(接口) 接口也是一种引用类型,可以等同看做类 1.如何定义接口,语法: 2.接口中只能出现: 3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的 4.接口中没有构造方法 ...

  2. JAVA入门级教学之(abstract抽象类)

    目录 JAVA入门级教学之(abstract抽象类) 1.如何定义抽象类? 2.抽象类无法被实例化 3.虽然抽象类没有办法实例化,但是抽象类也有构造方法,该构造方法是给子类创建对象用的 4.抽象类中可 ...

  3. JAVA入门级教学之(super关键字)

    目录 JAVA入门级教学之(super关键字) 1.super关键字用在构造方法中: 2.语法规则: 3.注意:super();的调用只能放在构造方法的第一行,和this();的调用规则一样 4.通过 ...

  4. JAVA入门级教学之(package和import)

    目录 JAVA入门级教学之(package和import) 1.包又称为package 2.怎么定义package? 3.包名的命名规范: 4.包名要求全部小写,包名也是标识符,必须遵守标识符的命名规 ...

  5. JAVA入门级教学之(多态)

    JAVA入门级教学之(多态) 怎么理解多态:你本身就该喊你爹叫爹,你让你爹叫你爹就是强制认做爹 多态的使用: A  a = new D(); D类继承A类,父类型引用指向子类型对象 * 关于java语 ...

  6. JAVA入门级教学之(参数传递)

    JAVA入门级教学之(参数传递) 问题引入: 参数分为形式参数还有实际参数,我们传入是的数据到底是什么呢? 方法调用的时候,涉及参数传递的问题, 传递的时候,java只遵循一种语法机制 就是将变量中保 ...

  7. JAVA入门级教学之(面向过程和面向对象的区别)

    目录 JAVA入门级教学之(面向过程和面向对象的区别) 面向过程和面向对象的区别: -面向过程: -面向对象: -发展历程: -生命周期中包括: -什么是类: -什么是对象: -软件开发的过程: -重 ...

  8. JAVA入门级教学之(方法递归)

    目录 JAVA入门级教学之(方法递归) 1.关于方法的递归调用: 2.递归是很耗费栈内存的,递归算法可以不用的时候尽量别用 3.以下程序运行的时候发生了这样的一个错误[不是异常,是错误] 4.递归必须 ...

  9. JAVA入门级教学之(方法内存分配机制)

    目录 JAVA入门级教学之(方法内存分配机制) 1.方法只定义,不调用,是不会执行的 2.在JVM内存划分上有这样三块主要的内存空间:[还有其它的内存空间] 3.关于"栈"数据结构 ...

  10. JAVA入门级教学之(方法-1)

    目录 JAVA入门级教学之(方法-1) 1.以下程序不使用"方法",分析一下程序会存在哪些优缺点? 2.方法的本质:是一段代码片段,可以完成特定功能,可以重复利用 3.注意:方法定 ...

最新文章

  1. Smartmail外贸CRMBuild1.0版使用说明书
  2. EMC与地之重新认识地
  3. VTK:PolyData之SurfaceContourLineInterpolator
  4. C++是不是类型安全的?
  5. HTML-CSS背景渐进色
  6. 服务器如何安装多系统,服务器如何安装双操作系统
  7. 重温Elasticsearch
  8. mysql下载64位 win7_win7 64位安装MySQL 绝对经典
  9. WebService之Java原生态支持
  10. WDS系列之四:自定义安装映像
  11. 深度学习学界业界进展调研
  12. [转]性能调优攻略(2)
  13. 在win7 64位上安装VS2015的问题汇总
  14. ACM程序设计竞赛开幕式致辞
  15. Python内置下载服务器
  16. python将png转为jpg,Python OpenCV读取png图像转成jpg图像存储的方法
  17. 【VBS脚本】VBS复制Excel工作簿
  18. JAVA SE 基础汇总
  19. win7搜索文件内容
  20. hdu 2576 Queen Collisions

热门文章

  1. CentOS6.9编译安装LNMP环境
  2. 《世界因你而不同-李开复自传》读书笔记(1/3)
  3. 计算机网络(九)-物理层(补充)-傅里叶变换-信道复用
  4. 【剑指offer】面试题29:顺时针打印矩阵(Java)
  5. Leetcode--31. 下一个排列
  6. java dct变换_Discrete Cosine Transform [DCT] (离散余弦变换)
  7. plt.savefig 不保存边框_Matlab科研绘图 amp; 保存
  8. python 求最大值实例_Python 求数组局部最大值的实例
  9. 设计代码说明什么是多态性?如何实现多态?(代码中要写注释解释)_狗屎一样的代码!快,重构我...
  10. 利用caffe的python接口实现DeepImageSynthesis实例