入门Java编程的知识点—>面向对象(day07)

  • 重点掌握什么是面向对象?
  • 重点掌握面向对象封装的意义?
  • 重点掌握类的封装,创建对象,访问对象?

面向对象

OO:(Object Oriented)面向对象

面向对象是一种编程思想,遵循面向对象设计原则可以写出高质量代码,

高质量代码:代码复用性要好,扩展性要好 ,维护性要好,可读性要好,健壮性要好,效率要好,移植性好。

对象和类

类:抽象不具体的,通常表示一类事物的统称. 在程序中表示模板。

对象:具体的,真是存在的. 在程序中表示在内存中的对象。

软件中对象是指具体类别的个体,类别是根据对象归纳出来的模型。程序中类模板的目的就是为了重复创建更多的对象。

上述角色中,都属于游戏中具体的角色对象,每个角色对象都有哪些数据呢?

角色1:String name = "雷电将军"; char Gender = '女'; int Level=90; String weapon ="稻光" ;int weaponLevel =90;

角色2:String name = "霄宫"; char Gender = '女'; int Level=90; String weapon ="弦振" ;int weaponLevel =90;

角色3:String name = "宫心海"; char Gender = '女'; int Level=90; String weapon ="*月华" ;int weaponLevel =90;

角色4:String name , char Gender , int Level ,String weapon , int weaponLevel

角色5:String name , char Gender , int Level ,String weapon , int weaponLevel

....

角色100:....

会发现存在大量冗余重复的数据,我们可以通过类来解决

面向对象的三大特征:封装,继承,多态
封装

封装的意义:当需要产生多个对象时,可以通过类模板,批量产生对象。

  1. 如何创建类模板
  • 类中放当前类的所有对象共有的数据/属性 --------------- 变量
  • 类中放当前类的所有对象共有的行为/方法 --------------- 方法
class Person{ //人类
 
    //共有的数据
    String name;	
    char gender;	
    int age;
    
    //共有的行为
    void sleep(){ }	
    void eat(){ }
    void play(){   }    
    
}
------------------------
class Car{ //车类
    //共有的数据
    String color;//颜色
    double price;//价格
    String type;//型号
    
    //共有的行为
    void run(){ } 运动
    void back(){ } 后退
    void stop(){ } 刹车
    
}
------------------------
    /**
 * 学生类模板:
 * 所有学生对象共有的数据,共有的行为。
 * 注意:模板类不需要运行,所以不需要构建main功能!
 */
public class Student {
    //共有的属性(数据)      全局变量:在类的里面声明的变量,作用范围在整个类中
    String name;//姓名
    int age;//年龄
    int stuID;//学号

    //共有的行为
    void study() {       //局部变量:在方法结构中声明的变量,作用范围只在当前方法中
        int a = 0;
        System.out.println(name + "在学习");
    }

    void sayHi() {
        int a = 1;
        System.out.println("大家好我叫:" + name + "我的年龄是:" + age + "我的学号是:" + stuID);
    }

变量分类

全局变量(成员变量):在类的里面声明的变量,作用范围在整个类中.

局部变量:在方法结构中声明的变量,作用范围只在当前方法中.

自己创建的类,属于自定义类型.是引用类型

2.如何创建类对象

类型   变量 = 创建Scanner对象
Scanner s  = new Scanner();//创建一个扫描器对象


Student zs = new Student();//创建一个学生对象 并将对象存储给zs这个变量
Student ls = new Student();//创建一个学生对象 并将对象存储给ls这个变量
Student ww = new Student();//创建一个学生对象 并将对象存储给ww这个变量

3.如何访问类对象

package oo.day01;

/**
 * 学生类的测试类:
 */
public class StudentDemo {

    public static void main(String[] args) {
        Student zs = new Student();//创建一个学生对象 并将对象存储给zs这个变量
        //1.创建对象时,对象有什么内容由模板来决定.
        //2.zs这个变量能打点调用出什么,由模板来决定.
        zs.name = "张三";
        zs.age = 18;
        zs.stuID = 1001;
        zs.study();
        zs.sayHi();

        Student ls = new Student();
        ls.name = "李四";
        ls.age = 26;
        ls.stuID = 1002;
        ls.study();
        ls.sayHi();
    }

}
  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值