Java基础之类与对象

什么是类 ?
类是对一类事物的抽象描述
如何写一个类 ?
使用class修饰
类里都有什么 ?
属性: 属性一般都使用 名词来修饰
行为: 行为一般用 动词来修饰
类中写的
成员变量(实例变量) 写在 类中 方法外
成员方法(实例方法) 写在 类中
        // 创建一个对象
        Animal dog = new Animal();
        // 如何访问成员变量? 对象点成员
        // 如果成员变量在等号前面 叫赋值 
        // 在等号后面 叫获取
        // 给成员变量 赋值
        dog.name = "来福";
        // 获取成员变量
        String stringName = dog.name;
        System.out.println(stringName);
        // 如何调用成员方法? 对象点方法
        dog.sayHi();
        dog.sleep();
        dog.eat();

// 动物类 姓名 年龄 性别 会介绍自己
// 思考 如果在类中声明成员变量 没有给初值 那么有初值吗 ? 
// 有 因为对象创建在堆内存(堆内存有默认的初始值)

class Animal {
    // 成员变量的作用域 整个类中都可以访问到
    String name = "旺财";     // 姓名
    int age = 2;                // 年龄
    String gender = "公的";   // 性别

    // 睡觉
    public void sleep() {
        System.out.println(name + "在睡觉");
    }

    // 吃饭
    public void eat() {
        System.out.println(name + "在吃饭");
    }

    // 成员方法
    public void sayHi() {
        System.out.println("姓名 :" + name);
        System.out.println("年龄 :" + age + "岁");
        System.out.println("性别 :" + gender);

    }

}

这里写图片描述

注意:一个文件中 只允许 有一个 public 修饰的类

对象

什么是对象 ?
对象是用 类 实例出来的具体事物

面向对象的特征

1.封装
2.继承
3.多态
封装: 将类中属性或方法对外界隐藏 然后开发公共的访问方式
成员变量私有化 是封装的一种体现
private 私有(权限修饰符)
成员变量私有化(并且提供set/get方法)
    // 成员变量私有化 (只能本类进行访问 本类以外无法访问)
    // 不能通过对象点属性来直接访问 但是可以通过方法来间接访问
    private String name;
    private int age;

    // get/set 方法
    // 命名规范 以set或者get开头 小驼峰
    // 获取
    public String getName() {
        return this.name;
    }
    // 修改
    public void setName(String name) {
        // 提供关键字 this 代表本类的对象
        // 哪个对象调用这个方法 这个对象就是this
        this.name = name;
    }
    // 获取 age
    public int getAge() {
        return this.age;
    }
    // 修改 age
    public void setAge(int age) {
        this.age = age;
    }

    // 就近原则(这里会打印局部变量)
    public void sayHi() {
        String name = "!!!";
        int age = 10;
        System.out.println( name + " " + this.age );
    }

成员变量 和 局部变量的区别

1.书写位置
成员变量: 在类中 方法外
局部变量: 类中 方法中 或 方法声明上
2.内存中的位置
成员变量: 存在于堆内存
局部变量: 加载到栈内存
3.初值
成员变量: 有默认值(堆给的)
局部变量: 没有默认值 如果要使用的话 必须要给赋值
4.生命周期
成员变量: 随着对象的创建而创建 随着对象的销毁而销毁
局部变量: 随着方法存在

构造方法

构造方法:初始化成员变量的

注意:

1.构造方法 没有返回值 甚至不写返回的类型
2.构造方法的方法名 与类名相同
关键字 构造方法名(){
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值