java修辞符,java中的修饰符,java修饰符

本文详细介绍了Java中的四种访问修饰符(public、default、protected、private)和三种非访问修饰符(static、final、abstract)的作用范围及使用场景。通过具体示例展示了不同修饰符下成员变量和方法的可见性和继承特性。
摘要由CSDN通过智能技术生成

java中的修饰符,java修饰符

JAVA中的修饰符

一、访问修饰符

访问修饰符有public、default、protected、private;

public修饰符:public修饰符可以修饰类、方法、变量、接口;public修饰的属性和方法的可见性为任意类;

default修饰符:默认修饰符为default修饰符;default修饰符可修饰类、方法、变量、接口;default修饰的变量的方法的可见性为同一包;

protected修饰符:protected修饰符可修饰方法、变量;protected修饰的变量和方法的可见性为同一包的类及其所有子类;

private修饰符:private修饰符可修饰方法、变量;private修饰的变量和方法的可见性为本类;private修饰的方法、变量,子类不可继承;

二、非访问修饰符

非访问修饰符有static、fianl、abstract

static修饰符:static修饰符可修饰方法、类变量;静态方法中只能直接调用静态变量;静态变量即为类变量,不管对象创建多少个,多只有一个拷贝;访问静态变量和静态方法时,可用类名.方法名(变量名)或者对象名.方法名(变量名);

final修饰符:final修饰符可修饰类、方法、变量;final变量只能被显示初始化且初始化一次;final修饰的对象的引用不能指向其他对象,但对象中的变量值可以被改变;final变量和static变量通常被用来设置类常量;

abstract修饰符:抽象方法和抽象类;抽象类不能实例化对象,类中含有抽象方法,那这个类就要定义成抽象类;抽象方法不能定义成static和final;抽象类可以不包括抽象方法;

实例如下:

class Number1{

//public、protected、private、default访问修饰符

public int a = 1;

int b = 2;

protected int c = 3;

private int d = 4;

public void geta(){

System.out.println("number1中的public方法a="+a);

}

protected void getb(){

System.out.println("number1中的protected方法b="+b);

}

private void getc(){

System.out.println("number1中的private方法c="+c);

}

//static、final

public static int a2 = 4;

public final int a3 = 5;

public static void geta2(){

System.out.println("number1中的public static修饰的方法a2="+a2);

}

public final void geta3(){

System.out.println("number1中的public final修饰的方法a3="+a3);

}

}

class Number2 extends Number1{

public static void geta2(){

System.out.println("number2中的继承的geta2的方法a2="+a2);

}

/*public static void getd(){

System.out.println("number2中的继承的geta2的方法d="+d);

}d变量为Number1中的私有变量,不可继承*/

/*public final void geta3(){

System.out.println("number1中的public final修饰的方法a3="+a3);

}因为方法定义为final,不能被子类修改*/

}

public class DecorateTest {

public static void main(String[] args){

Number1 aa = new Number1();

aa.geta();

aa.getb();

aa.geta2();

aa.geta3();

/*aa.getc();不能调用,该方法为私有方法,只能在Number类中可以使用*/

//子类Number2的实验

Number2 bb = new Number2();

bb.geta();

bb.getb();

/*bb.getc();不能调用,该方法为私有方法,不能被继承*/

bb.geta2();

bb.geta3();

}

}

结果如下:

number1中的public方法a=1

number1中的protected方法b=2

number1中的public static修饰的方法a2=4

number1中的public final修饰的方法a3=5

number1中的public方法a=1

number1中的protected方法b=2

number2中的继承的geta2的方法a2=4

number1中的public final修饰的方法a3=5

相关文章暂无相关文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值