类与对象02

内存分析
在这里插入图片描述
成员变量与局部变量比较
成员变量:
1、位于类中方法外
2、作用于类中
3、声明后可以不赋值,系统会给一个默认值
注意:成员是属于对象的,跟随对象一起使用
局部变量:
1、位于方法中
2、作用于方法中
3、声明后必须赋值

public class Sum{
	//成员变量
	public int a;
	public void add(int b) {
		//res局部变量
		int res = a+b;
		System.out.println(res);
	}
}

static关键字
satic是成员修饰符,只能修饰成员不能修饰局部
1、修饰变量:
(1)修饰的变量为静态变量也称类变量
(2)可以使用类名直接调用,也可以使用对象进行调用,
类名.静态变量,对象.静态变量
(3)静态变量是属于类的,存在于静态区中,是独一份的
2、修饰方法:
(1)静态方法,静态方法中不能直接使用非静态的内容,如果要使用需要用对象调用
(2)静态方法中不能使用this、super等关键字
(3)使用 类名.静态变量,对象.静态变量
注意:
(1)静态内容中可以直接使用静态内容,不能直接使用非静态内容;非静态内容可以直接使用静态内容
(2)静态内容是属于类的,会在第一次加载完成后进行初始化

public class Static01 {
	//静态变量
	public static int a = 10;
	//非静态变量
	public int b=12;
	public static void main(String[] args) {
		Static01 s = new Static01();
		//静态使用非静态
		System.out.println(s.b);
		//静态使用静态
		System.out.println(a);
	}
	public void sum() {
		//非静态使用静态
		System.out.println(a+b);
	}
	//静态方法
	public static void print() {
		//非静态使用静态
		System.out.println(a);
	}
}

this关键字
作用:
1、构造器首行中调用同类中其他构造器
2、区分同名变量,主要用于局部变量与成员变量
3、指代当前对象

public class Flower {
	//品种
	public String variety;
	//颜色
	public String color;
	//产地
	public String address;
	
	public Flower() {
		//空构造
	}
	public Flower(String variety,String color) {
		this.variety=variety;//区分同名变量
		this.color=color;
	}
	public Flower(String variety,String color,String address) {
		this(variety,color);//首行调用本类中其他构造器,但不能相互调用无意义
		this.address=address;
	}
	public void info() {
		String color = "黑色";
		System.out.println(this.color+"---"+color);//this指当前对象
	}
	
	public static void main(String[] args) {
		Flower f = new Flower("蓝色妖姬","蓝色", "澳大利亚");
		f.info();//蓝色---黑色
	}
}

构造器
1、也称构造方法、构造函数
2、一种特殊的方法,可以重载
3、用来为对象初始化信息,而不是创建对象
4、只能跟new一起使用
5、构造器的名字必须与类名一致
6、不能带返回类型不能有void,可以有return但不能带出值,只是用来提前结束方法
7、如果没有显示定义构造器,会自动提供无参构造器;否则不会自动提供无参构造器
8、不能和final static abstract一起使用
格式:
public 类名(参数){}

public class Flower {
	//品种
	public String variety;
	//颜色
	public String color;
	//产地
	public String address;
	
	public Flower() {
		//空构造
	}
	public Flower(String variety,String color) {
		this.variety=variety;
		this.color=color;
	}
	//构造器重载
	public Flower(String variety,String color,String address) {
		this(variety,color);/
		this.address=address;
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值