0
点赞
收藏
分享

微信扫一扫

luffy项目后端轮播图接口

zhongjh 2023-10-17 阅读 12
java

今日内容

一、复习

二、面向对象编程的介绍

2.1 面向对象编程介绍

2.2 面向对象中的一些概念

类: (人以群分,物以类聚,商品归类)

  • 其实具有相同特征和行为的一些列东西的统称
  • 可以理解 类 为一个模版,是一个统称

例如:

  • 好多东西具有相同特征(名字,重量)以及相同的行为(说话,工作,吃饭,睡觉) —> 人类
  • 具有相同属性(价格,颜色,品牌)已经相同行为(打字,玩游戏,编程,看电影) —> 电脑类

属性就是特征,即描述类特征的

  • 即属性是类中的东西(类里边有属性)

例如

  • 人类的属性: 身高,体重,年龄,性别,肤色
  • 电脑属性: 价格,颜色,品牌,重量

功能: 功能就是完成一些事情/动作的能力,

  • 即就是一些方法
  • 类中有方法

例如

  • 人类的方法/行为/功能: 吃饭,睡觉,工作

  • 电脑类方法/功能 : 开机关机,玩游戏,编程

对象: 就是某个类的具体体现, 对象拥有具体的属性和行为

  • 对象有具体的属性值,能将行为表现出来

例如:

  • 王思聪 属性(姓名:王思聪,身高175cm,体重70kg,性别男,肤色黄,财产不少)

  • 王思聪 行为(吃饭,睡觉,工作,玩)

  • 在这里王思聪就是人类的对象,王思聪对象就能够将人类的属性和行为具体表现出来


  • 你面前正在使用的这个电脑就是一个电脑类的对象

  • 类中包含属性和方法
  • 对象是由类创建出来的(得先定义类,属性,方法,之后才能创建对象)
  • 对象中也有属于自己的属性和方法

2.3 第一个类: 人类

package com.qf.oop;

/**
 * @desc 人类
 * 类名: 见名知意,首字母大写
 * class 类标识
 * 类中包含属性和方法
 */
public class People {
    /**
     * 属性: 就是变量
     * 定义属性其实就在定义变量
     * 只不过类中的属性有个特殊语法,
     * 就是可以在变量前加访问修饰符public,也可以不加
     */
    public int age;
    String name;

    /**
     * 方法: 就是之前的方法定义,
     * 只不过现在定义的方法不再写static
     * --------------------
     * 根据需求设计参数和返回值
     */
    public String eat(String food){
        System.out.println("吃饭,吃"+food );
        return "吃饱";
    }

    public void sleep() {
        System.out.println("睡觉" );
    }
}
public class Animal {

    /**
     * 属性
     */
    public String name;
    public int age;
    public String color;

    /**
     * 方法
     */
    public void mishi(){
        System.out.println("觅食" );
    }

    public void xiumian() {
        System.out.println("休眠" );
    }

    public void move() {
        System.out.println("移动起来" );
    }
}

2.4 由类创建出对象

// 建议创建对象动作,单独创建一个测试类,再写代码
/**
 * @desc 演示创建对象
 */
public class Demo1 {

    public static void main(String[] args) {
        // 类名 对象名 = new 类名();
        // 创建人类对象
        People p1 = new People();
        People p2 = new People();
        
        // 创建动物类对象
        Animal animal = new Animal();     
    }
}

2.5 使用对象

2.5.1 取出对象的属性

    public static void main(String[] args) {
        People p1 = new People( );
        // p1就是创建出来的对象
        // p1里边就有属性和方法
        // 新创建的对象,属性即变量,会被系统自动赋默认值
        /**
         * 取出属性值
         * 数据类型 变量 = 对象名.属性;
         * ------------------------
         * 新创建的对象,属性即变量,会被系统自动赋默认值
         * 基本类型中: 整型默认值0,浮点型默认值0.0
         * 引用类型: 默认值都是null
         */
        String name = p1.name;
        int age = p1.age;
        System.out.println(name );// null(闹)意思是空
        System.out.println(age );// 0

        // ----- 练习 -----
        // 创建动物对象,取出属性,输出看属性值是什么
        Animal animal = new Animal();
        String color = animal.color;// null
        String aName = animal.name;// null
        int aAge = animal.age; //0
        System.out.println( color);
        System.out.println( aName);
        System.out.println( aAge);
    }

2.5.2 给对象属性赋值

    public static void main(String[] args) {
        People p1 = new People( );
        /**
         * 给属性赋值
         * 对象.属性 = 值;
         */
        p1.age = 18;
        p1.name = "王思聪";

        System.out.println("--- 重新取值 ---" );
        // 再次取出看看
        System.out.println(p1.age);// 18
        System.out.println(p1.name);// 王思聪
    }

2.5.3 使用对象的方法

       People p1 = new People( ); 
       /**
         * 调用方法
         */
        p1.sleep();
        String r = p1.eat("米饭");
        System.out.println("吃饭的结果: " + r );

三、练习

public class Student {
    public String stuNo;// 学号
    public String name;
    public String banji;// 班级

    public void study(String subject){// subject 专业/科目
        System.out.println("学习" + subject );
    }

    public String doHomework(int hour){
        System.out.println("做"+hour+"小时的作业" );
        return "完成";
    }
}
public class Demo3 {

    public static void main(String[] args) {
        // 创建对象
        Student s1 = new Student();

        // 属性赋值
        s1.stuNo = "20230105";
        s1.name = "麦克阿瑟";
        s1.banji = "战争学院1班";

        // 属性取值
        System.out.println(s1.name );
        System.out.println(s1.stuNo );
        System.out.println(s1.banji );

        // 调用方法
        String s = s1.doHomework(4);
        System.out.println("做作业的结果: " + s );

        s1.study("战争指挥");
    }
}

四、面向对象内存分析

以Dog类为例,定义Dog类,设置属性和方法,创建对象

4.1 创建对象内存图

public class Dog {
    int age;// 寿命
    String name;// 狗的名字

    public void eat(){
        System.out.println("狗吃骨头" );
    }

    // main方法
    public static void main(String[] args) {
        // 创建对象
        Dog dog = new Dog();
        System.out.println(dog );

    }
}

image-20231016160659446

4.2 属性取值赋值内存图

public class Dog {
    int age;// 寿命
    String name;// 狗的名字

    public void eat(String food){
        System.out.println("狗吃"+food );
    }

    // main方法
    public static void main(String[] args) {
        // 创建对象
        Dog dog = new Dog();
        System.out.println(dog );

        // 取出查看
        System.out.println(dog.age );//0
        System.out.println(dog.name );// null
        // 赋值
        dog.name = "二哈";
        dog.age = 1;
        System.out.println(dog.age );// 1
        System.out.println(dog.name );// 二哈
    }
}

先取值查看,发现是默认值

image-20231016161011587

给属性赋值

image-20231016161141137

再次取值,查看属性值

image-20231016161312301

4.3 调用方法内存图

image-20231016161829119

4.4 每个类可以创建多个对象

 // main方法
    public static void main(String[] args) {
        // 创建1个狗类对象
        Dog dog = new Dog();
        System.out.println(dog );
        // 赋值
        dog.name = "二哈";
        dog.age = 1;
        System.out.println(dog.age );// 1
        System.out.println(dog.name );// 二哈
        System.out.println("------------------" );
        // 再创建一个狗类对象
        Dog dog2 = new Dog();
        System.out.println(dog2 );
        dog2.name = "小金毛";
        dog2.age = 2;
        System.out.println(dog2.name );
        System.out.println(dog2.age );
        dog2.eat("小鸡");
    }

image-20231016163311000

4.5 多个引用(对象名)可以指向同一个对象

public class Car {

    double price;// 价格
    String type;// 款型

    public void driver() {
        System.out.println("驾驶" );
    }

    public static void main(String[] args) {
        // 创建一个对象,car叫做对象名
        // 输出car,是地址值,即其实内存会有一个对象,
        // 此时car其实通过地址指向内存的对象
        // 在这里这个car相当于引用了内存的对象
        Car car = new Car();
        car.type = "大众朗逸";
        car.price = 100000;

        // 将引用赋值另外一个引用
        // 即将对象名赋值给两位一个对象名
        // 多个引用指向同一个对象
        // car和car2指向同一个对象
        Car car2 = car;
        System.out.println("car -->" + car );
        System.out.println("car2 -->" + car2 );
        System.out.println(car2.type );
        System.out.println(car2.price );

        car2.type = "梅赛德斯奔驰";
        car2.price = 1000000;

        System.out.println(car.price );
        System.out.println(car.type );

    }
}

image-20231016165647342

五、总结

今天要掌握的的,就是
	如何定义类,属性和方法
	如何通过类创建对象
	如何调用对象的属性和方法
	类创建多个对象
	和多个引用指向同一个对象
	理解内存图

六、作业

重复今日代码2遍(定义类,属性,方法,创建对象调用属性方法)
图(读代码,看图,清楚每一个步骤,讲出来)

完成作业pdf5 T4,T5,T7,T9

七、单词

people 人
student 学生
teacher 老师
doctor 医生
worker 工人
dog 狗
pig 猪
cat 猫
car 车
phone 手机
price 价格
brand 品牌
type 类型
height 高
width 宽
weight 重量 
color 颜色
举报

相关推荐

焦点图【轮播图】

JavaScript轮播图

JavaScrip轮播图

轮播图PagerAdapter

YCBanner轮播图

CSS轮播图

0 条评论