美文网首页
Java基础day07面向对象

Java基础day07面向对象

作者: __method__ | 来源:发表于2020-07-21 14:41 被阅读0次
    • markdown示例
     public static void main(String[] args) {
            System.out.println("请输入最大范围的那个数");
            int maxNumber = new Scanner(System.in).nextInt();
            guessNumber(maxNumber);
    
        }
    

    面向对象

    • 类:是一组相关属性行为的集合, 可以看成一类事物的模板
    • 对象: 是类事物的具体体现, 对象是类一个实例

    类与对象的关系

    • 类是对一类事物描述,是抽象的
    • 对象是一类事物的实例, 是具体的
    • 类是对象的模板, 对象是类的实体

    属性: 事物的状态的信息
    行为: 事物能够做什么

    Java语言实现一个面向对象中的类

    类定义的格式

    public class 类名 {
        // 建立了一个 Student类
        // 成员变量  ---》 事物的属性
        // 成员方法  ---》 事物的行为
    }
    
    

    对象的使用格式

    • 创建对象
    类名 对象名 = new 类名();
    

    访问类中的成员

    对象名.成员变量
    对象名.成员方法()
    
    

    成员变量的默认值


    定义一个手机类

    • brand
    • price
    • color
    • 打电话方法(name) “给 name打电话”
    • 发短信方法 “已群发短信”

    封装

    • 有时候我们不希望外界修改对象的属性, 所有我们要给他藏起来, 这样可以加强代码 的安全性
      封装的原则
    • 将属性隐藏起来, 若需要访问某个属性, 提供公有的get、set即可
    • 步骤
      1. private(被其修饰的变量或者方法只能在本类调用) 隐藏
      2. 提供一对get(获取)、set(修改或增加)方法

    this的含义

    this 代表所在类的当前对象的引用

    方法被哪个对象调用, 方法中的this就代表哪个对象,

    谁在调用this就代表谁

    格式

    this.成员变量名;
    

    局部变量 和全局变量

    • 在类中的位置不同
      成员变量: 类中, 方法外
      局部变量: 方法中或者方法声明上
    • 作用范围不一样
      成员变量: 类中
      局部变量: 方法中
    • 初始化值
      成员变量: 有默认值
      局部变量:没有,必须赋值才能用
      (了解)
    • 内存中位置不同
      成员变量: 堆内存中
      局部变量:栈内存
    • 生命周期不同
      成员变量: 随着对象的创建而创建,随着对象的消失而消失
      局部变量: 方法调用创建, 方法调用完毕消失

    构造方法(构造函数、构造器)

    constructor
    当一个对象被创建, 构造方法用来初始化对象,给对象的成员变量赋初始值

    无论你是否创建了构造方法,所有的类都有构造方法, 因为Java会自动提供一个无参构造方法, 一旦自己定义了构造方法, Java自动提供的默认的无参构造方法就会失效

    • 格式
    修饰符 构造方法名(参数列表){
     方法体
    }
    

    写法上, 名字要与类名相同, 没有返回值, 也不用写void

    Student(){
    
        }
        Student(String name, int age){
            this.name = name;
            this.age = age;
        }
    
    
    • 如果没定义构造方法,系统会给出无参构造方法
    • 如果定义了构造方法,系统不再给出无参构造方法
    • 构造方法时可以重载的, 既可以定义参数, 也可以不定义参数

    标准代码 JavaBean

    JavaBean是java编写的一种规范,

    • 要求类必须是具体的和公有的
    • 具有无参构造方法的
    • 提供成员变量的get和set方法
    public class BeanDemo {
        // 成员变量
        // 构造方法
        // 无参构造方法 必须的
        //  有参构造方法 建议
        //  成员方法
        // get
        // set
    }
    
    

    相关文章

      网友评论

          本文标题:Java基础day07面向对象

          本文链接:https://www.haomeiwen.com/subject/icyikktx.html