Java随笔

2019-10-5 14:18:01

1.当内部类在方法中时,如果想在方法内部使用此内部类,需要先声明再使用,否则会报错。当内部类在方法外部时则没有此限制。

/**
 * 
 */
package com.my.interview.test;

/**
 * @author Rooker
 * This is a  test class for how to use inner class!
 *
 */
public class Outer {
    
    public static String MSG = "This is a test for";
    

    public void outData() {
        
        class MInner{             
            public void outData() {
                System.out.println(MSG + "method inner class!");
            }
         }
        
        new SInner().outData();
        
        new Inner().outData();
        
        //当内部类在方法中时,如果想在方法内部使用此内部类,需要先声明再使用,否则会报错。
        //当内部类在方法外部时则没有此限制。
        new MInner().outData();
        
    }
    
    
    public static class SInner{
        public void outData() {
            System.out.println(MSG + "static inner class!");
        }
    }
    
    public class Inner{
        public void outData() {
            System.out.print(MSG + "normal inner class!");
        }
    }
    
    

}

2019-10-5 14:20:12

2.当一个.Java文件中有多个类时,非public的类只能被本包访问,不能被其它包里的类访问。(例如:不加修饰符时为包访问权限,不可被其他包里的类访问

在同级包下的类可以互相引用,无需import语句
只要是不在一个包,如果用到需要用的类,就需要import语句引进来
注意:java.lang包是自动引入的,不需要显式的加import引入。因此可以直接引用System、String
/**
 * 
 */
package com.my.interview.test;

/**
 * @author Rooker
 *
 */
public class ModifiersForClass {

}

class DefaultModifier{
    
}

final class FinalModifier{
    
}

abstract class AbstractModifier{
    
}

 // protected private is not allowed
    

原文地址:https://www.cnblogs.com/lukelook/p/11624717.html