Java基础(十二)之包和权限访问
软件包
软件包解决了两个类名字一样的问题。软件包就是一个"文件夹"。
包名的命名规范:
1、要求所有字母都小写;
2、包名一般情况下,是你的域名倒过来写。比如baidu.com,package com.baidu;
编写Test.java:
package mings; //将类防止到一个包当中
public class Test{
public static void main(String[] args){
System.out.println("Hello,package!");
}
}
编译包命令,点代表当前目录:
javac -d . Test.java
编译后会自动生成mings文件夹:

java当中的访问权限
- public 公共权限 修饰类、成员函数、成员变量。修饰类的话,文件名和类名必须一致。 作用在于两个类在不同包中,但是想要调用的另一个类或者类的构造函数、成员变量的话,加上public后可以任意调用。
- private 私有权限 修饰成员变量、成员函数; 就算在同一个包中,也只能在当前类中调用变量和函数。
- default 包级别访问权限(默认) 修饰类、成员函数、成员变量。如果在同一个包中,可以任意调用。
- protected 受保护权限。修饰成员函数、成员变量。拥有default相同的权限。特殊:跨包继承。
public > protected > default > private
下面就是一个public权限的代码。
Person.java:
package com.mings;
public class Person{
public String name;
public int age;
public void introduce(){
System.out.println(name);
}
}
Test.java:
package com.cn.mings;
class Test{
public static void main(String[] args){
com.mings.Person p = new com.mings.Person;
}
}
编译没有问题。但是存在一个问题就是com.mings.Person太长了。
因此可以使用导入包的方式,简化代码。
import 类名
修改Test.java:
package com.cn.mings;
import com.mings.Person; class Test{
public static void main(String[] args){
Person p = new Person();
p.name = "liming";
p.introduce(); }
}
运行后的结果:
D:\Java\code\练习九>java com.cn.mings.Test
liming
Java基础(十二)之包和权限访问的更多相关文章
- Java基础十二--多态是成员的特点
Java基础十二--多态是成员的特点 一.特点 1,成员变量. 编译和运行都参考等号的左边. 覆盖只发生在函数上,和变量没关系. Fu f = new Zi();System.out.println( ...
- Java基础(十二)--clone()方法
Clone在Java中就是用来复制对象,通过分配一个和源对象相同大小的内存空间,然后创建一个新的对象,那么他和=的区别在哪? 通过=实现对象拷贝: @Data @NoArgsConstructor @ ...
- java基础(十二 )-----Java泛型详解
本文对java的泛型的概念和使用做了详尽的介绍. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用. 什么是泛型?为什么要使用泛型? 泛型,即“参数化类型”.一提到 ...
- java基础十二[集合与泛型](阅读Head First Java记录)
集合 List 知道索引顺序的集合,ArrayList.LinkedList.Vector三个子类实现了List接口 ArrayList ArrayList没有排序方法,可以用Collection ...
- Java实习生常规技术面试题每日十题Java基础(二)
目录 1. JAVA 的反射机制的原理. 2.静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同? 3.如何将String类型转化成Number类型. 4.什 ...
- Java基础十--接口
Java基础十--接口 一.接口的定义和实例 /* abstract class AbsDemo { abstract void show1(); abstract void show2(); } 8 ...
- Bootstrap <基础十二>下拉菜单(Dropdowns)
Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...
- java基础(二章)
java基础(二章) 一,变量 1.变量是内存中的一个标识符号,用于存储数据 2.变量命名规则 l 必须以字母.下划线 _ .美元符号 $ 开头 l 变量中,可以包括数字 l 变量中,不能出现特 ...
- Java基础-Eclipse第三方安装包管理工具之Maven
Java基础-Eclipse第三方安装包管理工具之Maven 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩过Linux的小伙伴应该都知道yum吧,我们只要把搭建好的yum仓库配 ...
随机推荐
- idea 2018.1.2激活方法,有效期至2099年
1. 下载破解补丁文件JetbrainsCrack-2.7-release-str.jar 链接: https://pan.baidu.com/s/1inWaS067RPte3ZkD6uDxOQ 密码 ...
- Electron+React+七牛云 实战跨平台桌面应用(最新更新)
课程资料获取链接:点击这里 前市场上对 Electron 的呼声很高,它几乎是 Web 开发人员开发桌面客户端的唯一途径,很多大厂都使用 Electron 开发自己的原生应用.Electron 天生适 ...
- rp算法 随机化 刷题记录
刷随机化是真的会上瘾quq 洛谷P3973 [TJOI2015]线性代数 看oiwiki上说可以随机化...于是... 就随机在a[i]上选一位取反,然后更新答案,最后输出答案. ...无话可说 代码 ...
- MongoDB,使用C#实现2d地理位置检索
这两天在研究mongoDB,从零开始接触它,为什么要研究它呢,因为它支持2d地图索引,而且速度非常快,可以用它来做类似微信的(摇一摇功能),不过网上很难搜到.net操作的,而且就算搜索到了也不能用,也 ...
- vue页面加载前显示{{代码}}的原因及解决办法
进入正题,简单说说自己对html中出现{{}}的原因及解决办法: 这样写的话,就会出现{{}}一闪的情况: 原因:html的加载顺序: 解析html结构 -> 加载外部脚本和样式表文件 -> ...
- Python 之路Day13
匿名函数 一行函数 lambda == def -- 关键字 lambda x:x x 是普通函数的形参(位置,关键字……)可以不接收参数,可以不写 :x 是普通函数的函数值(只能返回一个数据类型), ...
- Python之路Day09
函数 将某个功能封装到一个空间中就是一个函数 减少重复代码 函数体中存放的时代码 定义函数 def len(): def 关键字 len 函数名 -- 变量名 ()格式规定 :语句结束 调用函数 函数 ...
- js 获取项目名称
//获取项目名称function getWebName(){ var pathName = window.location.pathname.substring(1); var webName = p ...
- python爬取连续一字板股票及当时日期数据【原创分享】
本篇为个人测试记录,记录爬取连续一字板的股票及当时日期. import tushare as ts import pandas as pd import time # 筛选一字板的策略 def gp_ ...
- 在Ubuntu 18.04上安装Git
步骤1.首先,通过运行以下命令确保您的系统和apt包列表完全更新: apt-get update -yapt-get upgrade -y 第2步.在Ubuntu 18.04上安装Git. 现在让我们 ...