美文网首页
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