java的四种访问修饰符详解
2021/7/23 1:06:57
本文主要是介绍java的四种访问修饰符详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
首先我们建立一个包testpackage1
建立一个类 person,并设置一些不同访问权限的属性和方法
属性/方法 | 访问权限 |
---|---|
id | public |
age | private |
getId() | protected |
getAge() | public |
setId() | default |
package testpackage1; /** * Created by 此生辽阔 on 2021/7/22 21:19 */ public class person { public int id; private int age; protected int getId() { return id; } public int getAge() { return age; } void setId(int id) { this.id = id; } } class tutor extends person { }
在本类中person对象可以访问的属性/方法
修饰符 | 在本类中person对象可以访问的属性/方法 |
---|---|
public | 是 |
private | 是 |
protected | 是 |
default | 是 |
在同包的子类/非子类中person对象可以访问的属性/方法
修饰符 | 在同包的子类/非子类中person对象可以访问的属性/方法 |
---|---|
public | 是 |
private | 否 |
protected | 是 |
default | 是 |
在不同包的子类/非子类的person对象可以访问到的属性/方法
修饰符 | 在不同包的子类/非子类的person对象可以访问到的属性/方法 |
---|---|
public | 是 |
private | 否 |
protected | 否 |
default | 否 |
同包的子类teacher可以访问到的属性/方法
修饰符 | 同包的子类teacher可以获得的属性/方法 |
---|---|
public | 是 |
private | 否 |
protected | 是 |
default | 是 |
不同包的子类student可以访问到的属性/方法
修饰符 | 不同包的子类的对象可以访问到的属性/方法 |
---|---|
public | 是 |
private | 否 |
protected | 是 |
default | 否 |
总结
对于一个类person,这个person类的对象在本类访问person的属性和方法,在同包的类中访问person的属性和方法,在其他包的类中访问person的属性和方法的结果如下图
person对象可以访问到的权限
权限 | person对象在person类中访问person类的属性方法 | person对象在本包的其他类中访问person类的属性方法 | person对象在其他包的类中访问person的属性和方法 |
---|---|---|---|
public | 是 | 是 | 是 |
protected | 是 | 是 | 否 |
default | 是 | 是 | 否 |
private | 是 | 否 | 否 |
person类的子类可以继承到的属性和方法
权限修饰符 | 同包子类 | 不同包子类 |
---|---|---|
public | 是 | 是 |
protected | 是 | 是 |
default | 是 | 否 |
private | 否 | 否 |
这篇关于java的四种访问修饰符详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16ShardingSphere 如何完美驾驭分布式事务与 XA 协议?
- 2024-11-16ShardingSphere如何轻松驾驭Seata柔性分布式事务?
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南