包和修饰词的作用

 

一.package:
1.作用:避免类名的冲突
2.同包中的类不能同名的
3.类的全称:包名.类名
4.建议:包名所有字母都小写

二.import:
1.同包中的类可以直接访问,不同包中的类不能直接访问
2.不同包中的类访问有两种方式:
(1)先import声明类再使用类——>建议
(2)类的全称——>太繁琐
如:(1)import java.util.Scanner;
Scanner scan=new Scanner(System.in);
int a= scan.nextInt();
   (2)java.util.Scanner scan=new java.util.Scanner(System.in);
int a= scan.nextInt();

三.访问控制修饰符:
1.public:公共的,任何类
2.protected:受保护的,本类、子类、同包类
3.默认的:什么也不写,本类、同包类
4.private:私有的,本类
数据(变量)私有化,行为(方法)公开化


注意:(1)类的修饰可以使用public和默认方式
(2)protected和private访问修饰符是不可以修饰类的,类中成员的访问修饰如上4种都可以。


四.static:静态的
1.静态变量
(1)由static修饰的
(2)属于类的,存储在方法区中,只有一份
(3)常常通过类名点来访问
(4)何时用:所有对象所共享的数据(图片、音频、视频)
2.成员变量:
(1)实例变量:没有static修饰的,属于对象的,存储在堆中的
有几个对象就有几份
通过对象名点来访问
(2)静态变量:由static修饰的,属于类的,存储在方法区中
只有一份
通过类名点来访问
栈:局部变量
堆:new出来的对象(包括实例变量)
方法区:.class字节码文件(包括方法、包括静态变量)
3.静态方法
(1)由static修饰的
(2)属于类的,存储在方法区中,只有一份
(3)常常通过类名点来访问
(4)静态方法没有隐式的this传递,
静态方法中不能直接访问实例成员
(5)何时用:方法的操作仅与参数相关而与对象无关
4.静态块
(1)属于类的,在类被加载期间自动执行,
因为类只被加载一次,所以静态块也只执行一次

 

(2)何时用:加载/初始化静态资源(图片、音频、视频等)

 

package oo.day05;

public class StaticDemo {
	public static void main(String[] args) {
		Eoo o1=new Eoo();
		o1.show();//a=1,b=1
		Eoo o2=new Eoo();
		o2.show();//a=1;b=2
		Eoo o3=new Eoo();
		o3.show();//a=1;b=3
		System.out.println(Eoo.b);//建议类名来访问,不建议对象名来访问
		System.out.println(o1.a);
		Foo.test();
		Foo o4=new Foo();
		o4.show();
		Goo o5=new Goo();
		Goo o6=new Goo();
	}
}
class Goo{
	static {//只执行一次
		System.out.println("静态块");
	}
	Goo(){
		System.out.println("构造方法");
	}
}
class Foo {
	int a;//实例变量
	static int b;//静态变量
	void show() {//有this
		System.out.println(a);//this.a
		System.out.println(b);//Foo.b
	}
	 static void test() {//没有this
//		 System.out.println(a);
		 System.out.println(b);
	}
}
class Eoo{
	int a;
	static int b;
	Eoo(){
		a++;
		b++;
	}
	void show() {
		System.out.println("a="+a);
		System.out.println("b="+b);
	}
}


结果如图:

 

五.final:最终的——>单独应用的几率很小
1.修饰变量:变量不能改变
2.修饰方法:方法不能被重写
3.修饰类:类不能被继承


六.static final常量:应用率高
1.必须声明同时初始化
2.通过类名来访问,不能被改变
3.建议:常量名所有字母都大写,多个单词用下划线分隔
4.编译器在编译时将常量直接替换为具体的值,效率高
5.某个数据永远不会改变,并且还经常使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linsa_pursuer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值