java 类

类,它是引用数据类型。

java代码映射成现实事物的过程就是定义类的过程。拿一部手机进行分析,它可以打电话,上网,聊QQ等,这是手机所的功能,也就是方法;手机也有它的Feature,如颜色、尺寸大小、品牌型号等,这些就是手机的特征,也就是属性。

先定义一个类(先看属性)

/*
    定义类:
        使用类的形式,对现实事物进行描述
        事物:方法,属性
            方法:这个事物具备的功能
            属性:变量
            
        格式:
         public class 类名{
             属性定义
               修饰符  数据类型 变量名 = 值
               
             方法定义
               修饰符  返回值类型 方法名(参数列表){
                       int steps = 5;               
               }
         }
    
    注意:1 属性里面的变量与方法中的变量有界限,假如走路(功能=方法)中
            有变量走的步数,若没有此方法,步数也就没有了,所以他属于方法,
            而属性不一样,年龄、身高(特征=属性)不会变,他属于类。
          2 类名必须与文件名相同
    
    例子:使用Java中的类,描述生活中的手机
          事物:手机
          功能 = 方法:
          特征 = 属性: 颜色、品牌、大小(什么数据类型)
*/
public class Phone{
    /*
        定义手机属性
    */
    String color ;
    String brand ;
    double size  ;
    
}

定义好类之后,如何使用?

/*
    测试,刚才定义好的Phone类
    创建引用数据类型的格式
    
      数据类型  变量名 = new 数据类型();
      
      实现引用数据类型的步骤
        1 导入包,若类在同一个文件夹,不用导
        2 创建引用类型变量
        3 变量.类型中的功能(属性)。属性就是变量,可以赋值和获取
*/
public class TestPhone{
    public static void main(String[] args){
    //创建引用类型变量
    Phone p = new Phone();
    //System.out.println(p); 输出内存的地址
    
    //变量.类型中的属性(功能)
    //变量 p. 的方式,调用类中的属性
    //属性就是变量,可以赋值和获取
    p.color = "公主粉";
    p.brand = "Apple" ;
    p.size  = 5.5     ;
    
    //获取属性值
    System.out.println(p.color+"  "+p.brand+"  "+p.size);
}
}

只编译要运行的文件就可以,类的文件在调用的时候回自动编译


过程如下:

1 TestPhone.class进入数据共享区,

2 main压栈进入方法栈

3 main中先有phone(),此时pnone.class进入数据共享区

4 实例化一个对象p,此时对象p也就是new phone()进入堆,创建了一个对象

5 属性color brand size 随对象创建而进入堆,并进行默认赋值 null null 0.0

6 将对象的首地址赋给p,此时p指向0x00aa内存地址

7 赋值 土豪金 爱立信 5.0,内存中也做相应变化

8 取值

9 main方法运行完毕。出栈。


当创建两个变量的时候:

/*
    测试手机类
      创建2个手机类的变量
*/
public class TestPhone_1{
    public static void main(String[] args){
        //创建手机类型变量
        Phone p1 = new Phone();
        //再次创建手机类型变量
        Phone p2 = new Phone();
        
        p1.color = "白色";
        p1.brand = "apple";
        p1.size  = 4.5;
        
        p2.brand = "华为";
        
        System.out.println(p1.brand);
        System.out.println(p1.color);
        System.out.println(p2.brand);
    }
}
内存图为:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值