java学习--包和访问修饰符
2021/6/13 14:21:40
本文主要是介绍java学习--包和访问修饰符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
包(package)
包-->文件夹
包的作用:
-
避免类重名 包名(类的地址)+类名 == 全类名(唯一的地址名称)
-
按照不同的功能管理类
按照天数管理类名:day1,day2
项目中有很多类,有的是与数据库交互,有的是与前端交互
-
控制访问权限
/* import 类的地址 在一个类中使用另一个包中的类,需通过import关键字,将类和地址导入 */ import java.util.Date; //import java.sql.Date;不能导入相同的类名 //java.lang中的类不需要导入 public class Car { /* 全包名= 包名 + 类名的简称 */ public static void main(String[] args) { Date date = new Date(); java.sql.Date date1= new java.sql.Date(1);//如果需要导入相同的类名只能牺牲一个,写出类的全路径 } }
访问权限修饰符
public 公共权限修饰符 修饰类,方法,属性
protected 保护权限修饰符 修饰属性,方法
default 默认权限修饰符 修饰类,属性,方法
private 私有权限修饰符 修饰属性,方法
package javaopp.Day03; public class Demo { public int pub; protected int pro; int def; private int pri; /* 被不同访问权限修饰符修饰的成员变量 */ public void pub() { } protected void pro() { } void def() { } private void pri() { } /* 在自己的类中,任何访问权限修饰符,修饰的成员变量都可以被访问 */ public static void main(String[] args) { Demo d = new Demo(); System.out.println(d.pub); d.pub(); System.out.println(d.pro); d.pro(); System.out.println(d.def); d.def(); System.out.println(d.pri); d.pri(); } }
同一个包中的不同类可以访问public default protected
package javaopp.Day03; public class Demo1 { /* 同一个包中的不同类中可以访问public default protected */ public static void main(String[] args) { Demo d = new Demo(); System.out.println(d.pub); d.pub(); System.out.println(d.def); d.def(); System.out.println(d.pro); d.pro(); /* 同一包中的不同类中不能访问private */ /*System.out.println(d.pri); d.pri();*/ } }
不同包的不同子类只能访问public
package javaopp.Day004; import javaopp.Day03.Demo; /* 不同包的不同子类只能访问public */ public class Demo2 { public static void main(String[] args) { Demo d = new Demo(); System.out.println(d.pub); d.pub(); } }
不同包的不同子类中可以访问父类中的受保护的成员
package javaopp.Day004; import javaopp.Day03.Demo; /* 不同包的不同子类中可以访问父类中的受保护的成员 使用extends继承 */ public class Demo3 extends Demo { public static void main(String[] args) { Demo3 d3 = new Demo3(); System.out.println(d3.pub); d3.pub(); System.out.println(d3.pro); d3.pro(); } }
这篇关于java学习--包和访问修饰符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-28微服务架构中API版本控制的实践
- 2024-09-28AI给的和自己写的Python代码,都无法改变输入框的内容,替换也不行
- 2024-09-27Sentinel配置限流资料:新手入门教程
- 2024-09-27Sentinel配置限流资料详解
- 2024-09-27Sentinel限流资料:新手入门教程
- 2024-09-26Sentinel限流资料入门详解
- 2024-09-26Springboot框架资料:初学者入门教程
- 2024-09-26Springboot框架资料详解:新手入门教程
- 2024-09-26Springboot企业级开发资料:新手入门指南
- 2024-09-26SpringBoot企业级开发资料新手指南