一、package和import语句
1、package
1.1、package
格式: package com.bw;
//该文件中所有的.java文件位于[项目名称\com\bw]目录下
1.2、JDK中主要的包
Java.lang:包含一些Java语言的核心类,如:String、Math、Integer、System和Thread,提供常用功能
java.awt:包含了构成抽象窗口工具集的多个类,这些类被用来构建和管理应用程序的图形用户界面(GUI)
java.net:包含执行与网络相关的操作类
java.io:包含能提供多种输入/输出功能的类
java.util:包含一些使用工具类,如:使用与日期相关的函数
2、import
2.1、import
格式:import java.util.*;
ps:
1、java.lang中的类可以直接使用,无需导入。
2、访问位于同一个包中的类则不需要引入。
二、static关键字
用static关键字声明的方法叫做静态方法,在静态方法中,不可以使用非静态的成员。
在使用静态变量/方法时,可以通过类名访问,而无需实例化。
public class Book {
public static String title = "三国演义"; //静态变量
public static void show(){ //静态方法
System.out.println(Book.title);
}
}
public static void main(String[] args) {
System.out.println(Book.title); //调用静态变量
Book.show(); //调用静态方法
}
静态方法和实例方法的特点:
三、封装
1、封装特点
Java提供了setter和getter方法。
- 把类的属性隐藏,提供公共方法对其访问
- 提高了代码的复用性
- 提高了代码的安全性
public class ExpressPerson { //快递员
private String no; //员工编号
private String name; //员工姓名
private int salary; //员工薪资
public ExpressPerson(){ //这是一个无参的构造方法
// System.out.println("这是一个无参的构造方法");
this.no = "10086";
this.name = "张三";
this.salary = 1;
}
public ExpressPerson(String no,String name,int salary){
this.no = no;
this.name = name;
this.salary = salary;
}
public void setNo(String no){
this.no = no;
}
public String getNo(){
return this.no;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;
}
public void setSalary(int Salary){
this.salary = Salary;
}
public int gatSalary(){
return salary;
}
}
2、修饰符
四、代码块
public class Cat {
static{
System.out.println("这是一个静态代码块");
}
{
System.out.println("这是一个构造代码块");
}
private String name;
private int age;
private String color;
public Cat(String name,int age,String color){
this.name = name;
this.age = age;
this.color = color;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return this.age;
}
public void setColor(String color){
this.color = color;
}
public String getColor(){
return this.color;
}
public void show(){
{
System.out.println("这是一个普通代码块");
}
System.out.println("名字:"+this.name+" 年龄:"+this.age+"岁 颜色:"+this.color);
}
public void com(Cat xiaoHua,Cat xiaoBai){
System.out.println("请输入猫的名字:");
// Scanner sc = new Scanner(System.in);
// String name = sc.next();
String name = new Scanner(System.in).next();
if(xiaoHua.name.equals(name)){
xiaoHua.show();
}else if(xiaoBai.name.equals(name)){
xiaoBai.show();
}else{
System.out.println("张老太没有这只猫!!!");
}
}
}
public class Test {
public static void main(String[] args) {
Cat xiaoHua = new Cat("小花",3,"白色");
Cat xiaoBai = new Cat("小白",3,"花色");
xiaoHua.show();
xiaoBai.show();
xiaoHua.com(xiaoHua, xiaoBai);
}
}
这是一个静态代码块
这是一个构造代码块
这是一个构造代码块
这是一个普通代码块
名字:小花 年龄:3岁 颜色:白色
这是一个普通代码块
名字:小白 年龄:3岁 颜色:花色
请输入猫的名字:
小花
这是一个普通代码块
名字:小花 年龄:3岁 颜色:白色