为了账号安全,请及时绑定邮箱和手机立即绑定

java学习笔记系列【二】补充(类和对象知识的补充。)

标签:
Java

上次咋讲述的那个“类和对象在内存中的表现形式”。笔者后来回家进行校对后发现遗漏一个例子。赶忙写篇手记把补上。。
在该例子中,我们创建2个类:EmployeeEmployeeMessage
Employee.java文件代码:

import java.io.*;
public class Employee{  //定义Employee类。(雇员)
        String name;  //定义name属性.
        int age;    //定义age属性.
        String designation;  //定义designation属性.(职称)
        double salary;  //定义salary属性.(工资)

        public void printEmployee(){  //输出雇员信息
                System.out.println("名字:"+name);
                System.out.println("年龄:"+age);
                System.out.println("职位:"+designation);
                System.out.println("薪水:"+salary);
                System.out.println();
        }
}

因为程序都是从main方法开始执行的。为了能运行这个程序,我们必须创建main方法并且实例化对象。
我们来创建EmployeeMessage.java文件代码:

import java.io.*;
public class EmployeeMessage{
  public static void main(String args[]){
    Employee empOne = null; //声明对象(赋初值)
    Employee empTwo = null; //声明对象(赋初值)
    empOne = new Employee(); //实例化对象(指向堆内存空间)
    empTwo = new Employee(); //实例化对象(指向堆内存空间)

    empOne.name="张三"; //改变empOne所指向的堆内存空间中name值
    empOne.age=28; //改变age的值。
    empOne.designation="高级程序员";//改变designation值(职称)
    empOne.salary=1000;//改变salary值(薪水)
    empOne.printEmployee();

    empTwo.name="李四";//改变empTwo所指向的堆内存空间中name值.
    empTwo.age=20;
    empTwo.designation="初级程序员";
    empTwo.salary=500;
    empTwo.printlnEmployee();
    }
}

代码运行结果:
图片描述

这里我先看下Employee类的这个的类图。

图片描述

这里第1层是类名:Employee
第2层是Employee类中的属性。(name,age,designation,salary.分别都是公共的。) 其中name和designation都是String型,age为int型,salary为double型。
第3层是Employee类中的方法。(方法为公共的,且为void型。)

在内存中的表现形式为:
图片描述

栈内存中empOne,empTwo属性分别指向对应的堆内存空间,并设置该堆内存空间中的属性值。

注意啊,各位读者们。我这里是以文件为单位的。我把Employee写在一个java文件了。在通过EmployeeMessage.java文件调用Employee。
区别与我们之前的把几个类写在一个文件夹中。这个就是封装性,这个因为篇幅有限。只能管中窥豹一二。以后咱们单独开一个篇幅来写一写这个封装性。

点击查看更多内容
6人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消