类:把具体事物的共同特征抽取出来归为一类。
类名要和文件名一致(大写)
类名要有意义。
标准类:
-
属性
-
方法
-
有参/无参构造方法
-
toString
类名上面加一行注释
对象: 具体的一个事物,是类的具体体现.
封装:保证安全性。
java里的封装:
-
private
-
给成员变景添加set,get方法
访问修饰符
delault:在同一包内可见,使用对象: 类、接口、变量、方法。
private:在同一类内可见。private一般用来修饰属性
public:对所有类可见。使用对象: 类、接口、变量、方法。public一般用来修饰方法。
protected:对同一包内的类和所有子类可见。使用对象: 变量、方法。不能修饰类(外部类)。
包: package 把功能相同的类放到一个地方,方便管理。
import 导包,引入文件的意思。
static
static 修饰成员变量和方法。被static修饰的只能static修饰的调用,不能调用非static修饰的。
static修饰的成员变量和方法属于类的, 非static修饰的属于对象。
出生时间: 类是早于对象创建的。
类是:方法区(元空间)
对象:堆
final:
-
变量:值不能发生变化。
-
类: 不能被继承。
-
方法: 不能被重写。
小练习:
模拟实现用户更改密码
输入旧的用户名密码,如果正确,有权更新,键盘输入新的密码进行更新。
输入不正确提示输入有误。
import java.util.Scanner;
public class User {
//用户名
public String user;
//旧密码
public String oldpassword;
//新密码
public String newpassword;
public User() {
}
public User(String user, String oldpassword, String newpassword) {
this.user = "admin";
this.oldpassword = "123456";
this.newpassword = newpassword;
}
public void old(){
System.out.println("************密码修改************");
System.out.println("请输入用户名");
//输入用户名
Scanner ner = new Scanner(System.in);
String user=ner.next();
if(user.equals("admin")){
System.out.println("请输入旧的用户名密码");
Scanner scanner=new Scanner(System.in);
String code=scanner.next();
//判断输入的密码 code 是否与旧密码相同
if(code.equals("123456")){
System.out.println("请更改新密码");
Scanner scan=new Scanner(System.in);
newpassword=scan.next();
System.out.println("************修改成功************");
}else {
System.out.println("密码输入错误,请重新输入:");
old();
}
}else {
System.out.println("您输入的用户名错误,请重新输入");
old();
}
}
}
public class User_main {
public static void main(String[] args) {
User user = new User();
user.old();
}
}