欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java中的修饰符,java修饰符

来源: javaer 分享于  点击 22862 次 点评:256

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


相关文章

    暂无相关文章
相关栏目:

用户点评