从零开始学Java(打卡第20天)

目标开发一款自己喜欢且能最大限度让用户参与建设的社交软件。

 笔记:

 对象的内存布局:

(堆里面的数据才是真正的对象,栈里面的只不过是一个代号或者名字(对象引用)而已)

 属性/成员变量

1、从概念或叫法上看:成员变量 = 属性 = Field(字段)

2、属性是类的一个组成部分,一般是基本数据类型,也可是引用类型(对象,数组)

 注意事项和细节说明:

1)属性的定义语法同变量,示例:访问修饰符(public   protected  默认   private)、属性类型、属性名

2)属性的定义类型可以为任意类型,包含基本类型和引用类型

3)属性如果不赋值。有默认值,规则和数组一致。

 如何创建对象:

1、先声明再创建;

Cat cat;
cat = new Cat();

2、直接创建

Cat cat = new Cat();

如何访问属性

基本语法是  :  对象名.属性名

cat.name;
cat.age;
cat.color;

类和对象的内存分配机制(重要)

 

 java创建对象的流程简单分析

1、先加载Person类信息(属性和方法信息,只会加载一次)

2、在堆中分配空间,进行默认初始化(看规则)

3、把地址赋给P(即指向对象)

4、进行指定初始化,比如 p.name = " jack ''

 b = null 代表b被清除;

成员方法

 在某些情况下,我们需要定义成员方法(简称方法)。比如人类:除了有一些属性外(年龄、姓名……),我们人类还要一些行为比如:可以说话、跑步...,通弄过学习,还可以做算术题。这时我们要用成员方法才能完成。

 

 1)

1、public 表示方法是公开的

2、void 表示方法没有返回值

3、speak( )     speak表示方法名;( ) 形参列表

4、{ }  方法体,可以写我们要执行的代码

5、System.out.println  表示我们的方法就是输出一句话

public class Method {
	public static void main(String[] args) {
		Person p = new Person();
		p.speak();//方法不调用的话就不会被使用
	}
}
class Person {
	String name;
	int age;
	public void speak() {
		System.out.println("i am a good man");
	}
}

 2)

public class Method {
	public static void main(String[] args) {
		Person p = new Person();
		p.speak();
		p.cal01();
	}
}
class Person {
	String name;
	int age;
	public void speak() {
		System.out.println("i am a good man");
	}
	public void cal01() {
		int sum = 0;
		for (int i = 1; i <= 1000; i++) {
			sum += i;
		}
		System.out.println("sum=" + sum);
	}
}

3)

public class Method {
	public static void main(String[] args) {
		Person p = new Person();
		p.speak();
		p.cal01();
		p.cal02(5);//调用cal02方法同时赋值
		p.cal02(10);//调用cal02方法同时赋值
	}
}
class Person {
	String name;
	int age;
	public void speak() {
		System.out.println("i am a good man");
	}
	public void cal01() {
		int sum = 0;
		for (int i = 1; i <= 1000; i++) {
			sum += i;
		}
		System.out.println("sum=" + sum);
	}
	public void cal02(int n) { //(int n)形参列表,表示当前有一个形参n,可以接受用户输入
		int sum = 0;
		for (int i = 1; i <= n; i++) {
			sum += i;
		}
		System.out.println("sum=" + sum);
	}
}

4)

1、public  表示方法是公开的

2、int   表示方法执行后,返回一个int 值

3、getSum 方法名

4、int  num1,   int num2 形参列表,2个形参,可以传入用户传入的两个数

5、return res 表示把res 值,返回

public class Method {
	public static void main(String[] args) {
		Person p = new Person();
		p.speak();
		p.cal01();
		p.cal02(5);
		p.cal02(10);
		int returnRes = p.getSum(10, 20);
		System.out.println("returnRes=" + returnRes);
	}
}
class Person {
	String name;
	int age;
	public void speak() {
		System.out.println("i am a good man");
	}
	public void cal01() {
		int sum = 0;
		for (int i = 1; i <= 1000; i++) {
			sum += i;
		}
		System.out.println("sum=" + sum);
	}
	public void cal02(int n) {
		int sum = 0;
		for (int i = 1; i <= n; i++) {
			sum += i;
		}
		System.out.println("sum=" + sum);
	}
	public int getSum(int num1, int num2) {
		int res = num1 + num2;
		return res;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值