1.Shortcut Key
2.Package
The function of package:
Basic gramar:
Essence of package:
how to import package:
package com.gdledu.pkg;
//建议:需要使用到哪个类就导入哪个类,不建议使用 * 导入
import java.util.Arrays;
//import java.util.Scanner; //表示指挥引入java.util 包下的 Scanner
//import java.util.*; //表示将java.util 包下的所有类都引入(导入)
public class Import01 {
public static void main(String[] args) {
//使用系统提供的 Arrays 完成 数组排序
int[] arr = {-1, 20, 2, 13, 3};
Arrays.sort(arr);
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
}
}
//package 的作用是声明当前类所在的包,需要放在类的最上面,一个类中最多只有一句package
//一个类中最多只能有一个package
package com.gdledu.pkg;
//import 指令 位置放在 package 的下面,在类定义前面,可以有多句且没有顺序要求
import java.util.Arrays;
import java.util.Scanner;
//类定义
public class PkgDetail {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int[] arr= {10, 50};
Arrays.sort(args);
}
}
3.Access Modifier
4.Encapsulation
package com.gdledu.encap;
import java.util.Scanner;
public class Encapsalution01 {
public static void main(String[] args) {
//如果要使用快捷键alt + r,需要先配置主类
//第一次,我们使用鼠标点击形式运行程序,后面就可以用
Person person = new Person();
person.setName("chubby");
person.setAge(30);
person.setSalary(30000);
person.getSalary();
System.out.println(person.info());
//如果我们直接使用构造器指定属性
Person ccc = new Person("ccc", 2000, 60000);
System.out.println("=======ccc的信息======");
System.out.println(ccc.info());
}
}
/*
不能随便查看人的年龄,工资等隐私,并对设置的年龄进行合理的验证。
年龄合理就设置,否则给默认 年龄, 必须在 1-120, 年龄,
工资不能直接查看 , name 的长度在 2-6 字符 之间
*/
class Person {
public String name;
private int age;
private double salary;
//构造器alt + insert
public Person() {
}
//有三个属性的构造器
public Person(String name, int age, double salary) {
// this.name = name;
// this.age = age;
// this.salary = salary;
//我们可以将set方法写在构造器中,这样仍然可以验证
setName(name);
setAge(age);
setSalary(salary);
}
//自己写setXxx 和getXxx 太慢,我们使用快捷键alt + ins,使用ctrl进行选中
//然后根据要求来完善我们的代码
public String getName() {
return name;
}
public void setName(String name) {
//加入对数据的校验
if (name.length() >= 2 && name.length() <= 6) {
this.name = name;
} else {
System.out.println("名字长度不对,需要2~6个字符,默认名字");
this.name = "无名氏";
}
}
public int getAge() {
return age;
}
public void setAge(int age) {
//判断
if (age >= 1 && age <= 120) {
this.age = age;
} else {
System.out.println("年龄要在1~120岁,默认为18");
this.age = 18;
}
}
public double getSalary() {
//可以在这里对当前对象的权限判断
System.out.println("请输入密码:");
Scanner scanner = new Scanner(System.in);
String key = scanner.next();
if (key.equals("123456")) {
return salary;
} else {
System.out.println("密码错误");
this.salary = 0;
return salary;
}
}
public void setSalary(double salary) {
this.salary = salary;
}
//写一个方法,返回属性信息
public String info() {
return "信息为 name=" + name + " age=" + age + " 薪水=" + salary;
}
}
package com.gdledu.encap;
public class Account {
private String name;
private double balance;
private String pwd;
//提供两个构造器
public Account() {
}
public Account(String name, double balance, String pwd) {
setName(name);
setBalance(balance);
setPwd(pwd);
}
public String getName() {
return name;
}
public void setName(String name) {
if (name.length() >= 2 && name.length() <= 4) {
this.name = name;
} else {
System.out.println("名字要求2到4个字,默认 无名");
this.name = "无名";
}
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
if (balance > 20) {
this.balance = balance;
} else {
System.out.println("余额要大于20");
}
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
if (pwd.length() == 6) {
this.pwd = pwd;
} else {
System.out.println("密码必须是六位, 默认为:000000");
this.pwd = "000000";
}
}
public void showInfo(){
//可以增加权限的校验
System.out.println("账户信息 name=" + name +" 余额=" + balance);
}
}
package com.gdledu.encap;
public class TestAccount {
public static void main(String[] args) {
//创建Account
Account account = new Account();
account.setName("ccc");
account.setBalance(20000);
account.setPwd("123456");
account.showInfo();
}
}
The knowledge learning in the article comes from:
【零基础 快速学Java】韩顺平 零基础30天学会Java_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1fh411y7R8?p=32