类和对象------[java]

类和对象

一、类

类中的组成:

  1. 属性(变量,描述每个对象的具体特点)
  2. 方法(操作的行为)

类的定义

(修饰符)class 类名称 {
    属性1();
    属性2();
    ...
    方法1(){};
    方法2(){};
    ...    
    }

类的设计原则

  • 编写类时:类中的所有属性必须用private封装。
  • 属性若要被外部访问,必须使用setter、getter方法。

属性的定义

(修饰符) 变量类型 变量名称 ; 

方法的定义

(修饰符) 返回值类型 方法名称 ( 形参列表){ 实现 } ;

构造方法的定义

(修饰符) 类名称 (形参列表 ){  };

分析:

  • 任何对象都应该有其对应的类,
  • 类是对象的蓝图 是⼀个唯⼀的标记,
  • 引⽤⼀块堆内存 表示开辟新的堆内存空间
  • 构造⽅法:通过以上分析可以得知,所谓的构造⽅法就是使⽤关键字new实例化新对象时来进⾏调⽤的操作⽅法。

对于构造⽅法的定义,也需要遵循以下原则:

  • ⽅法名称必须与类名称相同
  • 构造⽅法没有返回值类型声明
  • 每⼀个类中⼀定⾄少存在⼀个构造⽅法 (没有明确定义,则系统⾃动⽣成⼀个⽆参构造)

二、生产对象的定义

构造对象/对象实例化的语法:

类名称 变量名称 = new 类名称(实参列表);
引用类型-类引用
new 类名称(实参列表);

注意: 只要出现了关键词new,就开辟了空间。
例如:Person per = new Person;
出现了关键字new,表明在堆上分配了内存并且产⽣了Person类的对象per引⽤这部分内存。

注意: 一个文件中只能有一个public的类。

  • 计算对象需要的内存大小,开辟空间,初始化为0.
  • 调用构造方法,对属性初始化。
  • 构造方法调用结束,返回一个指向新对象的引用。
  • 对象中存储的最重要的就是属性,也可以找到方法区中对象相对应的类。

如何访问对象的属性、访问对象的方法

1、在类的内部

属性:直接通过属性名称访问即可
方法:直接通过方法名称调用即可

2、在类的外部

属性: 引用.属性名称
方法: 引用.方法名称(实参列表)

三、对象内存分析

  • 栈内存(虚拟机局部变量表):存放的是局部变量(包含编译期可知的各种基本数据类型、对象引⽤-即堆内存的地址,可以简单的理解为对象的名称),Java栈是与线程对应起来的,每当创建⼀个线程, JVM就会为这个线程创建⼀个对应的Java栈。
  • 堆内存:保存的是真正的数据,即对象的属性信息。

注意:

  • 一块栈内存只能保存一块堆内存地址。
  • ⼀块堆内存可以被多个栈内存所指向
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值