java知识点总结之四修饰符与类的成员

1,类成员的访问修饰符

   ●类只能使用默认访问修饰符和public,而类的成员可以使用全部四种访问修饰符,它们分别是public,protected,默认访问,private。

   ●protected,默认访问修饰的成员,在同一个包中都是可以访问的,唯一的区别是,protected修饰的成员在包外的子类中也可以访问。但需要注意的是你不能在子类中new父类的实例来访问父类中受保护的成员。

   ●包外子类继承父类的保护成员,那么该成员对于该子类以外的代码都是不可见的。注:书上说该子类的子类也是可以访问父类中的protected修饰的成员,但我实际试验了下,不能访问啊。


package A;
public class WrappedString {
protected void printSys() {
System.out.println("Sys");
}
}

package B;
import A.WrappedString ;
public class WrappedString2 extends WrappedString {
public static void main(String[] args) {
new WrappedString().printSys();//编译不通过
new WrappedString2().printSys();//编译通过
}
}

package B;
import A.WrappedString;
public class WrappedString3  extends WrappedString2{
public static void main(String[] args) {
new WrappedString2().printSys();//编译不通过
new WrappedString3().printSys();//编译通过
}
public void dd(){
printSys();//编译通过
}
}

未完待续。。。吃饭先
吃饭回来,继续。。。

   ●其他:访问修饰符不可以用于局部变量,这将不会通过编译的,事实上,只有final可以用于局部变量。


2,类成员的非访问修饰符

     2.1,final
         ●final修饰方法时,该方法不能在子类中重写。
        ●final修饰形参(也叫变元,即方法声明中圆括号中的变量)时,该变量在方法中不能再被赋值。

    2.2,abstract

         ●抽象类的具体子类必须实现所有的抽象方法。
        ●抽象方法是以;结尾的。
        ●abstract和final,abstract和private,abstract和static不能一起使用修饰一个方法。

    2.3,synchronized

         ●只能用于修饰方法。

    2.4,native

         ●表明此方法是与平台有关的语言实现的本地方法,只能用于修饰方法。

    2.5,strictfp

         ●表明浮点数遵循IEEE754标准,只能用于类和方法。

    2.6,可变参数列表

         public void printSys(int x, String...str) {
System.out.println("sys");
}
         其中的 String...str称为可变参数列表。
        ●一个方法的参数列表中只能有一个可变参数列表,并且只能是最后一个参数。

本文依然未完待续。。。需要工作了。。。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值