lesson7 - Java类与对象(基础篇)

1 类与对象的定义

  1. 类的定义。类是对某一种具有共同特征的事物的描述。就如现实世界是由一个个事物组成一样,一个计算机程序也可由一个个的类组成。类是一种用户自定义的数据类型(引用类型),有属性和方法这两个关键元素。例如设计一个类Dog,其属性有breed, name, size, color, age… 其行为有eat, sleep, run, cry…
在这里插入图片描述
   2. 对象的定义。对象是类的一种实例化,这就像一个物种下会有许多个体一样(大熊猫圆圆、毛豆、蓉宝、芝士…)。下图是对象的一个演示,Dog类下面对应的对象有Dog1, Dog2, Dog3…
在这里插入图片描述
类比前面学过的基础数据类型,下面这句话中,int\boolean都是一个类,a是int类的一个对象,b是boolean类的一个对象。

int a = 5;
boolean b = true;

  3. 对象在jvm中的内存分布。在栈中创建对象的一个引用(本质上是开辟一块内存空间,这个内存中存放指向堆对象的指针),随后在堆中实际建立这个对象,对象属性若是引用类型(例如下图中的cat.name, cat.color),则将数据放在方法区的常量池空间中;若对象属性是基本类型,则直接存放值。
对象在jvm中的内存分布
将一个对象名赋值给另一个对象名,本质上是让这两个对象指向同一块内存,这点跟数组很像。
在这里插入图片描述

2 类与对象的创建

  1. 类与对象的使用步骤。第一步,定义一个类;第二步,在main()方法中用new创建类对象;第三步,调用类对象中相应的属性和方法
  2. 类的创建方式。定义类的名称,然后在类的函数体中定义成员变量和成员方法。例如下图中创建了一个名为Person的类,类中包含成员变量age, name, sal, isPass,包含成员方法speak, Caculate_sum, getSum

class Person{
   
	int age;
	String name;
	double sa1;
	boolean isPass;
	// 方法功能:输出"我是一个好人"
	public void speak(){
       
		System.out.println("我是一个好人!");
	}
	// 方法功能:计算1到n的和
	public void Caculate_sum(int n){
   
		int sum = 0;
		for(int i = 1; i <= n ; i++){
   
			sum = sum + i;
		}
		System.out.println("sum= " + sum);
	}
	// 方法功能:计算数字n1与数字n2的和
	public int getSum(int num1, int num2){
   
		int sum ;
		sum = num1 + num2;
		return sum;
	}

}

  3. 对象的创建方式。有两种创建方式,一是先声明再创建,二是直接创建,这与前面基本数据类型的定义很像。

class Class_test{
   
	public static void main(String[] args){
   
	// 对象的创建方式1: 直接创建
	// p1对象名,本质上是对象的一个引用,存放在栈中
	// new Person()开辟空间创建真正的对象,存放在堆中
		Person p1 = new Person();
		System.out.println("age= " + p1.age);
	// 对象的创建方式2: 先声明再创建
		Person p2;
		p2 = new Person();	
	}
}
class Person{
   
	int age;
	String name;
   }

3 类属性细节

3.1 定义格式

  叫法上,属性=成员变量=field;
  定义属性的语法形式为: 访问修饰符 属性类型 属性名
访问修饰符控制属性的访问范围,有四种访问修饰符public, protected, private和默认。属性类型既可以是基本类型,也可以是引用类型;

3.2 调用格式

调用属性的语法形式为: 对象名.属性名
属性不赋值时,其有默认值,规则与数组中一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值