vscode 使用
Javabean (封装性)
public class Demo01 {
/*1.原则 : 字母 数字 $ _ 中文 除了 这五个 其它都不可以
2. 细则 : 数字 不能 开头
%hbviunh &hfiureh )nhjrn 7487j -ni +hbiu tgf hiuh 错
* tgf hiuh 错
f h 之间 有一个空格?? 空格错
*
* */
public static void main(String[] args) {
// int %hbviunh;
// int )nhjrn 7487 j;
// int tgf hiuh;
int hbejb;
int a;
int A;
// 15 16 行没有报错 ——————》 Java 严格 区分 大小写
}
}
package bean;
import java.util.Objects;
public class User {
/*1. 属性 私有化
2. 提供 get set 方法 用于外类 访问
* */
private String name ;
private int age;
private String addr;
// alt insert
private int num;
private char ch1;
private boolean b;
private Integer i;
private Boolean t;
private User u1;
public User() {
}
public User(String name, int age, String addr, int num, char ch1, boolean b, Integer i, Boolean t, User u1) {
this.name = name;
this.age = age;
this.addr = addr;
this.num = num;
this.ch1 = ch1;
this.b = b;
this.i = i;
this.t = t;
this.u1 = u1;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public char getCh1() {
return ch1;
}
public void setCh1(char ch1) {
this.ch1 = ch1;
}
public boolean isB() {
return b;
}
public void setB(boolean b) {
this.b = b;
}
public Integer getI() {
return i;
}
public void setI(Integer i) {
this.i = i;
}
public Boolean getT() {
return t;
}
public void setT(Boolean t) {
this.t = t;
}
public User getU1() {
return u1;
}
public void setU1(User u1) {
this.u1 = u1;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return age == user.age && num == user.num && ch1 == user.ch1 && b == user.b && Objects.equals(name, user.name) && Objects.equals(addr, user.addr) && Objects.equals(i, user.i) && Objects.equals(t, user.t) && Objects.equals(u1, user.u1);
}
@Override
public int hashCode() {
return Objects.hash(name, age, addr, num, ch1, b, i, t, u1);
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
", addr='" + addr + '\'' +
", num=" + num +
", ch1=" + ch1 +
", b=" + b +
", i=" + i +
", t=" + t +
", u1=" + u1 +
'}';
}
}
package bean;
import java.util.Objects;
public class Dept {
private int no;
private String name;
public Dept() {
}
public Dept(int no, String name) {
this.no = no;
this.name = name;
}
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Dept dept = (Dept) o;
return no == dept.no && Objects.equals(name, dept.name);
}
@Override
public int hashCode() {
return Objects.hash(no, name);
}
@Override
public String toString() {
return "Dept{" +
"no=" + no +
", name='" + name + '\'' +
'}';
}
}
package bean;
public class DeptTest {
int age;// 成员变量 实例变量
static int num ;// 成员变量 静态变量
public static void main(String[] args) {
Dept 营销部 = new Dept(1001, "营销部");
String name = 营销部.getName();
// name 局部变量
System.out.println(name);
营销部.setName("开发部");
System.out.println(营销部.getName());
// 开发部
/*
* 权限修饰
* private 本类访问
* 缺省 同一个包
* protected 子类 和 异包访问
* public 任意位置
变量问题
局部变量 :在 方法体里面
成员变量 : 方法体 外 类体内
* 静态:有 static
* 实例变量 没有 static
new 对象
* new 去调用构造方法 (无参数的 和与参数的 )
基本语法
* new 构造方法(形参);
* 对象 去 访问 变量 和方法
方法重载
* 无参数的 和与参数的构造方法 典型的方法重载
* public Dept() {
}
public Dept(int no, String name) {
this.no = no;
this.name = name;
}
*
* 方法名一样 (里面不同) 就是方法重载
构造方法
* 方法名和类名 一样
* public class Dept { Dept 类
private int no;
private String name;
public Dept() { Dept 无参数构造方法
}
Dept
public Dept(int no, String name) {、、 有参数构造方法
this.no = no;
this.name = name;
}
类与主类的问题
* public 修饰的 类 我们 称之为 主类 在 一个 . java 文件中 主类 最多 只有一个
*
* 最多 只有一个 0 1
*
集合底层
* 数组 链表 哈希表 数组 + 链表的 组成
Java语言特点
面向对象:模型化 看问题 和 处理问题,不会 针对 具体的 某个 问题 来设计,二十针对 一类 的 问题继续宁设计
移植性:翻译 ,把 。Java 编译为 字节码 ,Java 虚拟机 吧 字节码 解释为 二进制 编码,二进制
* 控制 CPU 等电子 器件 高低电平 来 处理 业务
*
*
*
*
*
*
*
*
* */
}
}