Java-构造方法、变量

1.今日单词:

price 价格
brand 品牌private
私有public 公有的

2.学习目标:

栈堆内存图//引数传递 传递的是引用类型 传递地址
//返回值 返回的是引用类型 返回的是地址
成员变量和局部变量的区别
定义位置不一样
局部变量:方法内部
成员变量:类内方法外
默认值不一样
局部变量:没有默认值,如果想使用必须先进行赋值
成员变量:有默认值,默认值规则和数组一样
作用范围不一样
局部变量:只有方法内部可以使用,出了方法就不能用
成员变量:整个类都可以使用
内存位置不一样
局部变量:基本数据类型数据直接存储在栈中
引用类型:数据类型存储在堆中,栈中存储对象的地址
成员变量:存储在堆中
生命周期不一样
局部变量:随着方法进栈而诞生,随着方法而消失
成员变量:随着对象的创建而创建,随着对象被垃圾回收而消失
Java中的内存空间
局部变量中,基本数据类型直接存储在栈中,引用数据类型存储再堆中,栈中存储堆中内存的地址栈比较小,存取速度快,堆比较大,存取速度慢程序运行在栈中,数据存储在堆中。栈和堆存储特点:
栈存储的特点:先进后出堆存储的特点:只要有内存就能申请存储栈和堆的释放:
栈释放:方法运行结束就释放堆释放:当栈中引用释放的时候,堆中内存数据就变成了垃圾 等待垃圾回收面向对象的三大特性
封装、继承、多态封装private:私有,只有本类可以访问,类外不能访问提供两个公有的方法,分别访问(get)和设置(set)get格式:setXxx
set格式:getXxx
布尔类型get的格式需要变成 isXxxxthis关键字
当方法的局部变量和成员变量名字重复的时候,根据就近原则,优先使用局部变量示例:

public class Phone {
//成员变量
String brand; //品牌
private String color; //颜色
private int price; //价格public Phone(String brand,String color,int price) {
 this.brand = brand;
 this.color = color;
 this.price = price;
}
}

构造函数创建对象的方法,系统提供了一个默认构造函数作用:创建对象
初始化变量
语法:public 类名称(参数列表){
方法体;
}
示例:public Student() { //默认构造函数

}
自定义构造函数
public Student(String name, int age, int height) {
// TODO 自动生成的构造函数存根
this.age=age;
this.name=name;
this.height=height;
}

**注意事项:**构造函数的名字和类名必须一样构造函数没有返回值,void也不能写构造函数不能return如果没有编写任何的构造函数,编译器提供一个默认的构造函数如果自己编写了构造方法,那么编译器就不提供默认构造方法了。构造方法可以重载。标准类所有成员变量都用private修饰
为每一个成员变量编写一对get/set方法
编写一个无参数的构造方法
编写一个全参的构造方法
完整标准类示例:标准类
1.所有成员变量都用private修饰
2.为每一个成员变量编写一对儿get/set方法
3.编写一个无参数的构造方法

4.编写一个全参的构造方法:

public class Teacher {public String getName() {
	return name;
}

public void setName(String name) {
	this.name = name;
}

public int getAge() {
	return age;
}

public void setAge(int age) {
	this.age = age;
}

public double getSalary() {
	return salary;
}

public void setSalary(double salary) {
	this.salary = salary;
}

private String name;

private int age;

private double salary;


public Teacher(){
	
}

public Teacher(String name,int age,double salary){
	this.name=name;
	this.age=age;
	this.salary=salary;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值