目录

在java语言的范畴中,我们将功能,结构等封装到类中,通过类的实例化,来调用具体的功能结构
涉及到java语言 与前端html 后端数据库交互时 前后端在java层面交互时都体现为 类 对象
Field = 属性 = 成员变量,Method = (成员)方法 = 函数

修饰符 class 类名 {属性声明 ;方法声明 ;}说明: 修饰符 public :类可以被任意访问类的正文要用 { } 括起来
- public class Person{
- private int age ; //声明私有变量 age
- public void showAge(int i) { //声明方法showAge( )
- age = i;
- }
- }

- public class Zoo{
- public static void main(String args[]){
- //创建对象
- Animal xb=new Animal();
- xb.legs=4;//访问属性
- System.out.println(xb.legs);
- xb.eat();//访问方法
- xb.move();//访问方法
- }
- }
-
- public class Animal {
- public int legs;
- public void eat(){
- System.out.println(“Eating.”);
- }
- public viod move(){
- System.out.println(“Move.”);
- }
- }
如果创建了一个类的 多个对象,对于类中 定义的属性,每个对 象都拥有各自的一套 副本,且互不干扰
- Person p1 = new Person();执行完后的内存状态。其中类定义如下:
- class Person{
- int age;
- void shout(){
- System.out.println(“oh,my god! I am ” + age);
- }
- }

你要没有引用就会被回收


- Person p1 = new Person();
- p1.name = "Tom";
- p1.isMale = true;
- Person p2 = new Person();
- sysout(p2.name);//null
- Person p3 = p1;
- p3.age = 10;

引用类型变量 只有可能存储两类值 null 或地址值
: new Person().shout();【】我们创建对象每一显示的付给一个变量名,即为匿名对象匿名对象只能调用一次
- public class Person{
- private int age; //声明private变量 age
- public String name = “Lila”; //声明public变量 name
- }
在方法体外,类体内声明的变量称为成员变量。 在方法体内部声明的变量称为局部变量。


- class Person{//人类
- //1.属性
- String name;//姓名
- int age = 1;//年龄
- boolean isMale;//是否是男性
- public void show(String nation){
- //nation:局部变量
- String color;//color:局部变量
- color = "yellow";
- }
- }
- //测试类
- class PersonTest{
- public static void main(String[] args){
- Person p = new Person();
- p.show(“USA”);
- }
- }
-

- public class Person{
- private int age;
- public int getAge() { //声明方法getAge()
- return age;
- }
- public void setAge(int i) { //声明方法setAge
- age = i; //将参数i的值赋给类的成员变量age
- }
- }
修饰符 返回值类型 方法名 ( 参数类型 形参 1 , 参数类型 形参 2 , …. ){方法体程序代码return 返回值 ;}

方法通过方法名被调用,且只有被调用才会执行

- /*
- ①
- 1.java类及类的成员,属性,方法,构造器,代码块 内部类
- 2.面向对象的三大特征:封装,继承 多态 抽象
- 3.其他关怀字 this. super. static final .abstract .interface packge import
-
- ②
- “大象装进冰箱”
-
- 面向过程:强调的是功能行为,以函数为最小单位 考虑怎么做
- 1.把冰箱打开 2.把大象放进去 3.关上冰箱
-
- 面向对象:强调了具体的功能对象 以类、对象为最小单位
- 人{
- 打开(冰箱){}
- 抱起(大象){}
- 关闭(冰箱){}
- }
-
- 冰箱{
- 打开(){}
- 关闭(){}
- }
- 大象{
- 进入(冰箱){}
- }
-
- ③ 面向对象的两个要素
- 类:对一个事物的描述,概念上的定义
- 对象:是实际存在该类事物的某个个体,因而也称为实例(instance)
- 面向对象程序设计重点是类的设计
-
- ④ 设计类就是设计类的成员
- 属性=成员变量=field=域,字段
- 方法 =成员方法 函数 methods
- 创建类的对象=类的实例化=实例化类
-
- ⑤ 类和对象的使用
- 创建类 设计类的成员
- 创建类的对象
- 同过 对象.属性 对象.方法 调用对象结构
-
- ⑥ 如果 创建了一个类的多个对象 则每个对象都独立的拥有一套类的属性(非static)
- 意味着 如果我们修改一个对象的属性a,则不会影响另一个对象的属性a
-
- ⑦ 类中属性的使用
- 属性 成员变量 vs 局部变量
-
- 相同点
- 定义变量的格式 数据类型 变量名=变量值
- 先声明,后使用
- 变量都尤其对应的作用域
-
- 不同点
- 1.声明位置的不同
- 成员变量:直接定义在{}内
- 局部变量: 声明在方法内 方法形参 代码块 构造器形参 构造器内部变量
-
- 2.关于权限修饰符的不同
- 成员变量:可以在生命属性时,指名其权限,使用权限修饰符
- 常用的权限修饰符 private. public. protected 缺省
- 局部变量不可以使用权限修饰符
-
- 3.默认初始值的情况
- 成员变量 类的属性根据其类型,都有默初始化值
- 整型( byte short int long)0
- 浮点型( float double) 0.0
- 字符型(char) 0或("\u000")
- 布尔型 Boolean false
- 引用数据类型 (类 数组 接口) null
-
- 局部变量没有默认初始值
- 意味着在调用局部变量之前,一定要显式赋值
- 特别的 形参在调用时我们赋值即可
-
-
- 4.在内存中加载的位置
- 成员变量 加载到堆空间(非static)
- 局部变量 加载到栈空间
-
- ⑧类中方法的声明和使用
- 方法:描述类应该具备哪些方法
- 如:Scanner类 获取键盘 Math类 数学类 Arrays 数组类
-
- 方法的声明 权限修饰符 返回值类型 方法名(形参列表){方法集}
- 注意: static final abstract 来修饰方法的
-
- 说明
- 权限修饰符
- java规定四种权限修饰符 private public 缺省 protected
-
- 返回值类型 :有返回值 vs 无返回值
- 如果方法有返回值在,则必须在方法声明时 指定返回的类型 同时方法中需要
- 使用return关键字返回指定类型的变量或常量
- 如果方法没有返回值 则方法声明时 使用void表示 通常没有返回值的方法中
- 就不需要使用return 如果使用的话 只能“return”表示结束此方法
-
- 方法名 属于标识符,遵循标识符规则和规范
-
- 形参列表 方法可以声明 0个 1个 多个(格式 数据类型1 形参1)
-
-
- ⑨ return关键字的使用
- 使用范围 使用在方法体中
- 作用:结束方法 针对有返回值的方法 使用return 数据的格式返回数据
- 注意不要使用执行语句
-
- ⑩ 方法的使用中 可以调用当前类的属性或方法(可以递归调用)
- 方法中不可以在定义方法
-
-
- */
- //测试类
- public class person {
- public static void main(String[] args){
- //初始化people类的对象
- people p1=new people();
- //调用对象的结构属性方法
- //调用属性 对象.属性
- p1.name="Tom";
- p1.isMale=true;
- System.out.println(p1.name);
- //调用方法对象.方法
- p1.eat();
-
- //-------------
- people p2=new people();
- System.out.println(p2.name);
-
- //-------------
- //将p1变量保存的对象地址赋值给p3 导致p1和 p3指向了同一个堆空间地址
- people p3=p1;
- p3.age=18;
- System.out.println(p1.age);
- }
-
- }
- class people{
- //属性
- String name;
- int age=1;
- boolean isMale;
-
- //方法
- public void eat(){
- System.out.println("人可以吃饭");
- }
- public void sleep( int hour){
- System.out.println("休息了"+hour +"小时");
- }
-
- public void talk(String languge){
- System.out.println("人可以吃饭"+languge);
- }
- public String getName(){
- return name;
- }
- public String getNation(String nation){
- String info="我的国籍"+nation;
- return info
- }
-
-
- `1
- }