包及访问控制权限

  • 包的概念及打包操作
  • import语句导入包中的类
  • 静态导入
  • 访问控制权限
  • java命名规范

包的概念及打包操作

  • 包的概念
    包的概念其实就是文件夹的意思,和我们windows上的文件夹功能相同,主要是为了防止名称相同和有效管理

  • 将类打包
    语法规定:package 包名称.子包名称

 
 package com.cn.java;//进行打包
 
 public class Hello{
	 
 }
 
 class Hi{
	 
 }

上面实际上是将class Hello 和class Hi这2个类到了java这个包里面(java为com的子包cn的子包)
此时的完整类名应该是cm.cn.java.Hello和cm.cn.java.Hi

在编译时的完整命令应该是javac-d.PackageHello.java

  • -d表示生成目录
  • . 表示在当前文件夹中生成
    生成class文件解释的命令为:java com.cn.java.PackageHello

import语句
格式:import 包名.子包名.类名
当几个类不在同一个包中时,需要用import将类导入到同一个包中才能使用
注意:

  • 当导入了不同的包的相同的类名的类时,在使用时要完整的写出类名称,否则编译器将无法识别

  • 手动导入和自动导入
    当导入一个包里面的类时,可以手动导入,也可以自动导入,两者的效率没有区别

 import com.cn.java.Hi;//手动导入Hi类
 
 public class Person{
	 public String name;
	 public int age;
	 public String sex;
	 
 }
 import com.cn.java.*;//自动导入Hi类
 
 public class Person{
	 public String name;
	 public int age;
	 public String sex;
	 
 }

当程序类名用到了该类将会自动导入该类

java新特性---静态导入
当一个类中的方法都是静态的时候,可以用静态导入,这样在导入的类中使用可以直接使用,不需要使用类名.静态方法的形式调用

package com.cn.java;

public class Person{
	public static void show(){
		System.out.println("hello world");
	}
}

import static com.cn.java.Person.*;//静态导入Person类
public class  PersonTest{
	public static void main(String[]args){
		System.out.println(show());//可以直接使用静态方法
	}
	
}

访问控制权限


可以控制类 属性 方法的访问控制

  • public 可以修饰类 方法 属性公共的 啥地方都能访问 同一个包中只能有一个public class
  • protected 可以修饰属性和方法 可以在本类中 同一个包的类中 不同包的子类(指的是该属性或者方法所在类在不同包的子类)中访问
  • 默认 可以修饰类 方法和属性 可以在本类中 同一个包的类中访问
  • private 可以修饰方法(private修饰方法不常用)和属性 只能本类中被访问

java的命名规范

  • 类:所有的单词首字母大写 如 TestJava
  • 方法:第一个单词首字母小写 之后的没有单词首字母大写 如:getInfo()
  • 属性:和方法命名相同
  • 包名:所有字母小写
  • 常量:所有字母大写 如:FLAG

参考:<<java开发实战经典>>

posted @ 2022-11-06 11:33  一往而深,  阅读(46)  评论(0编辑  收藏  举报