美文网首页
java050修饰符总结,内部类

java050修饰符总结,内部类

作者: 牛倩贱 | 来源:发表于2018-12-24 22:36 被阅读0次

    一.修饰符总结

    1.权限修饰符

    public:当前类;相同包下的类;不同包下的类

    default: 当前类;相同包下的类;不同包下的类

    private: 当前类

    protected: 当前类;相同包下的类

    注意:default和protected的区别:

    default:当前包下使用

    protected:可以让子类对象使用

    例如:A类里面有两个方法分别是default和protected修饰,然后在B类里面,B类继承了A类,此时可以用super关键字去调用protected修饰的方法,但不能调用default修饰的方法

    2.权限修饰符:

            a.public:可修饰类、成员变量、成员方法、构造方法

            b.default:可修饰类、成员变量、成员方法、构造方法

            c.protected:是修饰成员的,不修饰类,他所修饰的成员专门为子类所提供,所以它可以修饰成员变量、成员方法和构造方法。

            d.private:私有不能用来修饰类,用来修饰成员

    3.抽象 abstract:

            可以修饰类,不可修饰成员变量;可以修饰方法,不可以修饰构造方法。

    4.static:

            静态所修饰的成员可以被类名直接调用,所以他是用来修饰成员的,可修饰成员变量、成员方法、不可修饰构造方法。

    5.final

            可修饰类、成员变量、成员方法、但不能修饰构造方法。

    6.常用规则:

        a.以后我们使用public来修饰类,一个java文件只能有一个类,如果一个文件中有多个类,其中有一个类名和文件名一样的类,那它就必须用public来修饰,其他的类不能使用public修饰。

    b.所有的方法也用public修饰

    c.所有的成员变量由private修饰

    d.所有的构造方法用public修饰,但是如果不想让其创建对象,便使用private修饰

    二.内部类

    1.内部类分类:a.成员内部类

            b.局部内部类

            c.匿名内部类

    共性:内部类任然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号。

    2.成员内部类:

            在类的成员位置,和成员变量以及成员方法所在位置是一样的

            在内部类中,可以直接访问外部类的成员,包括私有成员

    例:public class InnerDemo{

                public static void main (String [ ] args) {

                //Outer o = new Outer( );

                //o.method( );

                Outer.Inner i = new Outer( ).new Inner( );

    //要创建一个Inner类型的一个变量,而Inner属于Outer类,所以需要Outer的修饰,有了变量后要创建对象,要创建Inner对象此时就必须先创建Outer对象。

                i.function( );

    }

    }

    class Outer{

        private int num = 10 ; 

        public void method ( ){

        Inner i =new Inner( );

        i.function ( ) ;

    }

        class Inner{

            public void function ( ){

                System.out.println(num);

    }

    }

    }

    相关文章

      网友评论

          本文标题:java050修饰符总结,内部类

          本文链接:https://www.haomeiwen.com/subject/fjyokqtx.html