类与对象的定义与使用

      类和对象(class)是两种以计算机为载体的计算机语言的合称。对象是对客观事物的抽象,类是对对象的抽象。类是一种抽象的数据类型。它们的关系是,对象是类的实例,类是对象的模板。对象是通过new className产生的,用来调用类的方法;类的构造方法 。

类和对象的定义

    类是现实世界或思维世界中的实体在计算机中的反映,它将数据以及这些数据上的操作封装在一起。

    对象是具有类类型的变量。类和对象是面向对象编程技术中的最基本的概念。

类和对象的关系

      类是对象的抽象,而对象是类的具体实例。类是抽象的,不占用内存,而对象是具体的,占用存储空间。类是用于创建对象的蓝图,它是一个定义包括在特定类型的对象中的方法和变量的软件模板。(转自百度百科)

一.类的组成:

1.1 方法-操作行为

1.2. 属性-变量和描述每个对象的具体特点

二.类的定义与使用

2.1 定义一个类的语法如下:

class 类名称{
属性1;

属性2;

属性n....;

方法1 () {  }

方法2 () { }

方法n () {}....

}

上面便是定义了一个完整的类,所以此时的方法不再由主类直接调用,而是由对象调用

例如下面定义了一个简单的Person类

class Person{
  public String name;  
  public int age;
  public String Sex;     
 public Person(String name,int age ,String Sex){   
     this.name = name ;  
     this.age = age ;
     this.Sex = Sex ;     
      }    
    public String getPerson(){    
    return "姓名:"+this.name+",年龄:"+this.age+ ",性别:"+this.Sex;  
  }
} 

三. 定义(产生)对象:

3.1 定义对象的语法

  类名称  对象名称 = new 类名称();

 我们以Person类为例产生一个Person类的对象:

Person pre1 = new Person();

Person pre2 = new Person("zhangsan",18,"男"); 

3.2 通过对象调用实例变量与实例方法

Person p = new Person("Steven",25,"男"); 
System.out.println(p.name); 
System.out.println(p.getPerson());

3.3 对象的内存分析

     在上面的代码中出现了new关键字,就表示开辟了一块内存空间。我们可以简单的将JAVA中的内存空间分为

栈内存和堆内存两块区域。

1.栈内存(虚拟机局部变量):存放的是局部变量(各种的基本数据类型,对象引用-堆内存的地址,可以理解

为对象的名称)

2.堆内存:保存的是正真数据,即对象的属性信息

下面我们通过代码和内存分析图给大家讲述这两部分内存

​

class Person{
  public String name;  
  public int age;
  public String Sex;     
 
} 
public class Test{
public static void main(String[] args)
{
Person pre =new Person();
pre.name = "李四";
pre.age = 18;
pre.Sex ="男";
} }


​

在main方法中:Person per = new Person()

上面出现了关键字new ,表明在堆上分配了内存并且产生了Person类对象pre引用这部分内存。

通过下面表示通过pre引用设置堆中属性值

​

pre.name ="李四";
pre.age = 18;
pre.Sex ="男";

​

内存图如下:

上面就是从产生对象过程中栈内存和对内存分配过程,对象必须在实例化调用后,否则会产生运行时错误

但编译时不会出错。

 

 

 

 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值