类与对象

前言
面向过程:强调过程,注重于每个步骤,
面向对象:强调对象,注重所描述的事物

一.类与对象

类是抽象的,而对象是具体的
类是对象的模板,对象是类的实例
如,狗是一种类,而哈士奇,金毛,柯基等则可以说是对象

类的定义
类是属性和行为的集合
成员变量即为属性,成员方法即为行为

public class cat(){

//成员变量
Int age;
String sex;

//成员行为
//狗吃食物
Public void eatfood(){System.out.println("狗吃食物");}
}

对象的定义

对象是对一类事物的具体体现,对象是类的一个实例

对象的创建
类名 对象名=new类名()

使用对象访问类中的成员
对象名.成员变量
对象名.成员方法

二.类与对象的实例

通过电脑这个类来熟悉类与对象的使用

/*定义一个类,模拟”电脑“这个事物
属性:品牌,颜色,型号
行为:看到的颜色,测得的型号

应用到类中
成员变量(属性)
String brand;//品牌
String color;//颜色
String cpu;//型号
成员方法(行为)
 //查看电脑型号
    public void check() {
        System.out.println("型号是:" + cpu);
    }

    //电脑的外观
    public void appearenc() {
        System.out.println("颜色是:" + color);
    }

    //查看电脑的品牌
    public void what() {
        System.out.println("品牌是" + brand);
    }
}*/
public class qa3 {
    //成员变量
    String cpu;
    String color;
    String brand;

    //成员方法
//查看电脑型号
    public void check() {
        System.out.println("型号是:" + cpu);
    }

    //电脑的外观
    public void appearenc() {
        System.out.println("颜色是:" + color);
    }

    //查看电脑的品牌
    public void what() {
        System.out.println("品牌是" + brand);
    }
}

然后再编写一个测试类来感受类与对象

public class test {
    public static void main(String[] args) {
        //创建对象  (类名 对象名=new 类名)
        qa3 a = new qa3();

        //输出成员的值
        System.out.println("品牌:" + a.brand);//null
        System.out.println("型号:" + a.cpu);//null
        System.out.println("颜色:" + a.color);//null
        System.out.println("‐‐‐‐‐‐‐‐‐‐‐‐");


        //给成员变量赋值
        a.brand = "小米";
        a.color = "蓝色";
        a.cpu = "231";

        //再次输出成员的值
        System.out.println("品牌:" + a.brand);
        System.out.println("型号:" + a.cpu);
        System.out.println("颜色:" + a.color);
        System.out.println("‐‐‐‐‐‐‐‐‐‐‐‐");

//调用成员的方法  对象名.成员方法()
        a.appearenc();
        a.what();

    }

}

还未给类中的成员变量赋值时,输出的是默认值即为null。
最后的输出的结果如下

三.对象内存

在栈内存中运行的方法,遵循"先进后出,后进先出"的原则
对象调用方法时,根据对象中方法标记(地址值),去类中寻找方法信息。

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

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

1、在类中的位置不同

成员变量:在类中方法外面

局部变量:在方法或者代码块中,或者方法的声明上(即在参数列表中)

2、在内存中的位置不同

成员变量:在堆中(方法区中的静态区)

局部变量:在栈中

3、生命周期不同

成员变量:随着对象的创建而存在,随着对象的消失而消失

局部变量:随着方法的调用或者代码块的执行而存在,随着方法的调用完毕或者代码块的执行完毕而消失

4、初始值

成员变量:有默认初始值

局部变量:没有默认初始值,使用之前需要赋值,否则编译器会报错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值