面向对象之封装

访问控制符的权限级别

    public > protected > default > private

    public:公共访问权限
    pritected:子类访问权限
    default:包访问权限
    private:当前类访问权限

set和get

如下类,使用privatetest类中的name变量封装了起来
并且提供了setNamegetName使其他类通过我们提供的方法修改和获取name变量

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class public_test {
public static void main(String[] args){
test set = new test();
// 修改test类中name变量的值
set.setName("xxin");
// 将会输出"xxin"
System.out.println(set.getName());
}
}

class test{
private String name = "默认名";
// 修改name
public void setName(String name){
this.name = name;
}
// 获取name
public String getName(){
return this.name;
}
}

package和import

package

1
2
3
//package作为java源文件第一行代码,制定了class文件的包路径
package lee.demo;
//将该源程序所编译的class文件放置在lee\demo

import

1
2
3
//impoit用于引入包路径
import lee.demo.test; //引入test\demo路径下的test类
import lee.demo.*; //引入lee\demo包下的所有类

import static

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//import static静态导入,用于导入指定类的某个静态成员变量、方法或全部的静态成员变量、方法

//方法导入
import static lee.demo.test.method1; //引入lee\demo包下,test类的method1方法
//引入后可直接调用method1
method1();

//变量导入
import static lee.demo.test.a; //引入lee\demo包下,test类的a变量
//引入后可直接调用a
System.out.println(a);

//引入全部静态变量方法
import static lee.demo.test.*; //引入lee\demo包下,test类的全部静态变量方法

java常用包

    java.lang: 这个包下包含了Java语言的核心类,如String、Math、Sytem和Thread类等,使用这个包无需使用import语句导入,系统会自动导入这个包中的所有类。
    java.util: 这个包下包含java的大量工具类/接口和集合框架类/接口。如Arrays和List、Set等。
    java.net: 这个包下包含了一些Java网络编程相关的类/接口。
    java.io: 这个包含了一些Java输入/输出编程相关的类/接口。
    java.text: 这个包下包含一些Java格式化相关的类。
    java.sql: 这个包下包含了java进行JDBC数据库编程的相关类/接口。
    java.awt: 这个包下包含了抽象窗口工具集(Abstract Window Toolkits) 的相关类/接口,这些类主要用于构建图形用户界面(GUI)程序。
    java.swing:这个包下包含了Swing图形用户界面编程的相关类/接口,这些可用于构建平台无关的GUI程序。