zoukankan      html  css  js  c++  java
  • Innerclasses

    内部类只能让它的外部类访问,其他同包的类也无法访问!方法里也能建内部类

     1 public class Innerclasses {
     2     public static void main(String[] args){
     3         Face f=new Face();// 必须让外部类先创建一个实例,才能调用内部类!
     4         Face.Nose n=f.new Nose();//这里不能直接!!调用face类里的nose类 Nose n=new Nose();
     5         n.breath();
     6         Face.Ear e=new Face.Ear();
     7         e.listen();//静态内部类和其他的不同可以一步就创建一个实例,不需要外部类存在实例就直接建一个实例。
     8     }
     9 }
    10 
    11 
    12 class Face{
    13     int type;
    14     String xingzhuang="瓜子脸";
    15     static String color="红润";
    16     class Nose{
    17         String type;
    18         void breath(){
    19             System.out.println(xingzhuang);
    20             System.out.println(Face.this.type);//这里访问的是外部类里的type如果没加Face.则应该是访问自己的变量
    21                                                 //如果内部类没这个变量即没有重名可以直接调用type,如xingzhuang;
    22             System.out.println("呼吸!");
    23         }
    24     }
    25     static class Ear{
    26         void listen(){
    27             System.out.println("我在听!");
    28             System.out.println(color);//静态内部类只可以调用外部类中的静态变量,非静态的不行;
    29             //静态内部类看作外部类的一个静态成员!静态内部类对象存在,不一定存在对应的外部类对象
    30         }
    31     }
    32 }

    内部类可以访问调用外部类中的属性但是外部类无法调用内部类的内部属性

  • 相关阅读:
    遍历卷,遍历磁盘
    宽字符
    GetSystemDirectory
    WIN32_FILE_ATTRIBUTE_DATA structure
    几条shell命令
    log4j学习(二)不同类的日志输出到不同的文件
    Java中的split和join
    如何使用socket进行java网络编程(二)
    如何使用socket进行java网络编程(一)
    log4j学习(一)最简单的例子
  • 原文地址:https://www.cnblogs.com/myErebos/p/8588245.html
Copyright © 2011-2022 走看看