Java-面向对象(成员变量&&局部变量、static、封装)

成员变量&&局部变量
局部变量:方法中声明
成员变量:方法外、类中声明

public class Test2 {
	//int num =20; 成员变量
	public void test() {
		//int num = 10; 局部变量
	}
}

局部变量和成员变量变量名相同时,局部变量的优先级更高
成员变量在堆内存中,局部变量在局部变量的表中

类中方法互相调用
1.Static定义的main方法调用别的方法,对方也必须是static静态方法,否则无法调用
2.如果不是静态方法,则需要创建实例在调用
3.在main的出口调用方法

public class Test2 {
	int num =20; 
	public void test() {
		int num = 10; 
		System.out.println(num);
		//直接指向成员变量
		System.out.println(this.num);
	}
	public static void main(String[] args) {
		Test2 test = new Test2();
		test.test();
	}
}

两个变量的区别:
1.作用域不同
2.初始值不同,局部变量不会赋初始值,成员变量会赋初始值,由其数据类型决定
public class Test2 {
int num;
}
七.封装
封装是指将类的属性隐藏在内部,外部不能直接访问和修改

把属性私有化,用get(获取数据)、set(修改数据)方法,在这些方法中添加逻辑

封装步骤:
1.修改成员变量为私有,private,是的外部不能访问
2.提供外部可以直接调用的方法
3.加入对于属性逻辑的控制,避免出现逻辑错误

访问权限是指该属性可以直接访问的方法,在属性定义时设定,有四种方法:public、private、默认(不写)、protected,区别在于作用域不同

八.Static
表示静态或者全局,可以⽤来修饰成员变量和成员⽅法以及代码块。
使⽤ static 修饰的成员变量和成员⽅法独⽴于该类的任何⼀个实例化对象,访问时不依赖于该类的对象,⽽是直接通过类去访问,可以理解为被该类的所有实例对象所共⽤,所以说是全局的。

可以修饰代码块,叫做静态代码块
特点:只执行一次,当类被加载到内存中时执行(运行时类)

static {
 System.out.println(1);
}

栈和堆:Student student =new Student()左边的在栈中,右边的在堆中,双方依靠地址互通
基本数据类型不需要堆,引用类型需要堆

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值