Java基础语法

一、定义访问权限修饰符的关键字

1.private:该成员变量或者方法是私有的,只有当前类对其具有访问权限,其他的类或者对象都没有权限访问。使用private修饰体现出了封装性,具体表现是类中的属性都用private修饰,对外提供 set 和 get 方法。

2.protected:该成员变量或方法对该类自身、与它在同一个包中的其他类,在其他包中的该类的子类都可见。

3.default:该成员变量或方法只有自己和与其位于同一包内的类可见,如果父类与子类位于同一个包内,则子类对父类的default成员变量或方法都有访问权限,如果子类和父类不在同一个包内,则没有访问权限。

4.public:该成员变量或者方法对所有类或者对象都是可见的,所有类或者对象都可以直接访问。

二、定义类、变量、方法修饰符的关键字

1.abstract:

作用:①修饰方法,被abstract修饰的方法就是抽象方法, 抽象方法只能出现在抽象类里面,抽象方法是只声明了而未被实现的方法,private和 abstract不可以同时使用。

           ②修饰类,被abstract修饰的类是抽象类,抽象类里可以没有抽象方法,抽象类不可以实例化对象,所有抽象类必须有子类,并且子类必须重写抽象类里的所有抽象方法,否则该类也是抽象类,抽象类不可以使用final修饰。

2.final:

作用:①修饰变量:被final修饰的变量,只能在定义的时候手动为其初始化一次。

           ②修饰方法:被final修饰的方法,不能被重写。

           ③修饰类:被final修饰的类,不能被继承。

3.static:

和对象解绑,多用于共享数据中。

作用:①修饰成员变量:使用static修饰的变量叫做静态变量,静态变量属于类,在内存中只有一个内存地址,只要静态变量所在的类被加载,这个静态变量就会被分配到空间,因此就可以被使用了,对静态变量的使用有两种方式:类.静态变量 和对象.静态变量。不能在方法体内定义static变量。

          ②修饰成员方法:static方法是类的方法,不需要创建对象就可以被调用,static方法中不可以使用this 和super 关键字,不能调用非static方法,只能访问所属类的静态成员变量和成员方法,因为当static方法被调用时,这个类的对象可能还没有被创建。

           ③修饰代码块:不再任何一个方法体内,JVM在加载类时会执行 static 代码块,如果有多个 static 代码块,JVM将会按顺序来执行,static 代码块经常被用来初始化静态变量,这些static代码块只会被执行一次。

4.sychronized

作用:java中每个对象中都有一个锁,叫做监视锁(monitor lock),执行带synchronized修饰的普通方法时,首先需要锁引用指向的对象中的锁,如果可以锁,就正常执行代码,否则就需要等待其他线程把锁释放,如果一个线程获得了锁,到方法结束的时候,就会释放这把锁。

表现锁的对象锁的时间释放锁的时间
修饰普通方法this进入方法退出方法
修饰静态方法进入方法退出方法
代码块小括号引用指向的进入代码块退出代码块

synchronized可以保证原子性、可见性、重排序。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值