java 中有多少修饰符,它们的访问权限又是什么?
本人刚刚开始学习JAVA,所以问这些菜鸟级别的问题,疑问在书上找不到,百度里也搜不到,就来这里问问了。小弟先谢谢各位了...
本人刚刚开始学习JAVA,所以问这些菜鸟级别的问题,疑问在书上找不到,百度里也搜不到,就来这里问问了。小弟先谢谢各位了
展开
7个回答
展开全部
java中的修饰符分为类修饰符,字段修饰符,方法修饰符。根据功能的不同,主要分为以下几种。
1、权限访问修饰符
public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。
包外 子类 包内 类内
public yes yes yes yes
protected no yes yes yes
default no no yes yes
private no no no yes
2、final修饰符
final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后该方法不能被改变,也就是重写。
3、abstract修饰符
abstract是抽象的意思,用来修饰类和方法,修饰类后,该类为抽象类,不能被实例化,必需进行扩展。修饰方法后,该方法为抽象方法必须被子类重写(override)。
4、static修饰符
static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例。
1、权限访问修饰符
public,protected,default,private,这四种级别的修饰符都可以用来修饰类、方法和字段。
包外 子类 包内 类内
public yes yes yes yes
protected no yes yes yes
default no no yes yes
private no no no yes
2、final修饰符
final的意思是不可变,他可以修饰类、字段、方法。修饰类后类不能被扩展(extends),也就是不能被继承。修饰字段后字段的值不能被改变,因此如果有final修饰字段,应该对字段进行手动初始化。修饰方法后该方法不能被改变,也就是重写。
3、abstract修饰符
abstract是抽象的意思,用来修饰类和方法,修饰类后,该类为抽象类,不能被实例化,必需进行扩展。修饰方法后,该方法为抽象方法必须被子类重写(override)。
4、static修饰符
static用来修饰内部类,方法,字段。修饰内部类说明该内部类属于外部类而不属于外部类的某个实例。修饰字段说明该字段属于类而不属于类实例。修饰方法说明该方法属于类而不属于类实例。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-03-24
展开全部
java中的访问控制权限
类的访问范围
A、public修饰类,表示该类在所有包中可见
B、(default)修饰类,表示该类仅在同一个包中可见
不能用protected和private修饰类
成员变量及成员方法的访问范围
A、public 包内、包外,所有类中可见
B、protected 包内所有类可见,包外有继承关系的子类可见
(子类对象可调用)
C、(default)表示默认,不仅本类访问,而且是同包可见。
D、private 仅在同一类中可见
类的访问范围
A、public修饰类,表示该类在所有包中可见
B、(default)修饰类,表示该类仅在同一个包中可见
不能用protected和private修饰类
成员变量及成员方法的访问范围
A、public 包内、包外,所有类中可见
B、protected 包内所有类可见,包外有继承关系的子类可见
(子类对象可调用)
C、(default)表示默认,不仅本类访问,而且是同包可见。
D、private 仅在同一类中可见
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
本回答借鉴其他网友回答。。。。
static 可以修饰变量、类、方法、静态块!
用了static,可以不用new一个这个类的实例就可以进行访问,而且无论new了多少个实例,这个变量都只有一份,所有实例见到的值都是相同的。
final 可以修饰变量、方法
final 修饰的方法不能被重写!修饰的值不能被改变(数值类型值不变、引用类型引用不变!)修饰的类不能被继承!<都有一个不能被改变的意思>
abstract可以修饰类、方法、接口
抽象方法没有方法体!
表明被修饰的是抽象的,需要被实现,等待被完善!
抽象类可以继承为抽象的,也可以被继承为不抽象的,关键是看里面有没有抽象方法,如果有肯定是抽象类!当然抽象类也可以有非抽象方法!
所以 final 不能和 abstract 放在一起!一个不能实现、一个必须实现
static 可以修饰变量、类、方法、静态块!
用了static,可以不用new一个这个类的实例就可以进行访问,而且无论new了多少个实例,这个变量都只有一份,所有实例见到的值都是相同的。
final 可以修饰变量、方法
final 修饰的方法不能被重写!修饰的值不能被改变(数值类型值不变、引用类型引用不变!)修饰的类不能被继承!<都有一个不能被改变的意思>
abstract可以修饰类、方法、接口
抽象方法没有方法体!
表明被修饰的是抽象的,需要被实现,等待被完善!
抽象类可以继承为抽象的,也可以被继承为不抽象的,关键是看里面有没有抽象方法,如果有肯定是抽象类!当然抽象类也可以有非抽象方法!
所以 final 不能和 abstract 放在一起!一个不能实现、一个必须实现
参考资料: http://zhidao.baidu.com/question/26438470.html?si=1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
修饰符分访问和方法啊!
访问有public (公有)private(私有)protected(保护)
方法有static(静态的可以用于声明变量,方法)final(定义不会改变的一些类成员)abstract(声明父类的方法)
访问有public (公有)private(私有)protected(保护)
方法有static(静态的可以用于声明变量,方法)final(定义不会改变的一些类成员)abstract(声明父类的方法)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询