Java中有类,有成员变量,有成员方法,有局部变量。他们分别能用什么来修饰?
目前学习到的类,有普通类和内部类。
一.修饰普通类:
1.public 每个文件中只有一个类能被public修饰,表示可以被任何对象访问
2.abstract 抽象类,不能被实例化,可能存在抽象方法。没有抽象方法时的作用是避免将该类实例化
3.final 最终类,表示不能被继承
4.abstract 抽象类,不能被实例化,就是new对象
内部类: 有成员内部类,局部内部类,匿名内部类,静态内部类(先跳过)
二.修饰变量:变量有成员变量和局部变量
修饰成员变量:
1.public 可以被任何对象访问
2.private 只能被自身类使用
3.protected 除了自身类,同一个包,子类之外其他不能使用,可以被子类重写
4.final 表示该成员变量时常量,一但初始化就不能更改;
5.static 静态成员变量,在类加载时就加载,不依赖实例化使用,可以通过 类名.变量名 使用变量。而且该变量在类中只有 一份,也就是说所有对象共同使用。(不能修饰局部变量)
修饰局部变量:
1.final 被final修饰表示常量,一但初始化,值就不能改变
三:修饰方法
1.public 同上
2.protected 同上
3.private 同上
4.static 静态方法,在类加载时加载。不需要创建对象就能使用 类名.方法名
(不能和abstract共同修饰方法,类加载时要 加载,而abstract方法为抽象方法,没意义)
5.final 方法可以被子类继承,但是不能重写
(不能与abstract共同修饰方法,final不能重写,而abstract要求重写)
6.abstract 该方法没有方法体,它的类必须被定义为抽象类
(不能与final共同修饰方法,同5)
四:内部类
成员内部类,顾名思义,和成员类似,能修饰成员变量的都能修饰他。不同于方法,abstract和static能共同修饰内部类
局部内部类,同理,能修饰局部变量的都能修饰他,final
匿名内部类,都没有类的定义。
静态内部类,能修饰成员内部类的都能修饰他
初学者,欢迎指点。