常用关键字_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 常用关键字

常用关键字

 2013/9/22 18:27:05  狼迹天涯  程序员俱乐部  我要评论(0)
  • 摘要:常用关键字一、访问修饰符访问修饰符可以修饰类方法属性等。。。java中的访问修饰符共4种:分别是:public(公有的)、protected(受保护的)、默认的、private(私有的)。4中访问修饰符的可见范围不同:被public修饰的类、方法、属性等,在同一个项目下的所有包中的所有类都可以使用;被protected修饰的类、方法、属性等,在同一个包内可以被任意调用,同时也可以在子类中被调用。默认的,在同一个包内可以被任意调用,但与protected修饰符不同,默认的不可以在子类中被调用
  • 标签:常用 关键字

class="p0">常用关键字

?

一、访问修饰符

访问修饰符可以修饰类?方法?属性等。。。java中的访问修饰符共4种:分别是:public(公有的)protected(受保护的)、默认的、private(私有的)

4中访问修饰符的可见范围不同:

public修饰的类、方法、属性等,在同一个项目下的所有包中的所有类都可以使用;

protected修饰的类、方法、属性等,在同一个包内可以被任意调用,同时也可以在子类中被调用。

默认的,在同一个包内可以被任意调用,但与protected修饰符不同,默认的不可以在子类中被调用。

private修饰的方法、属性等,意义为“私有的”,只能在同一个类中被调用。

在使用时,直接加在被修饰的类、方法或属性名前即可,如:

?

  public Student() {
		
			this(null, 0);
	
  	}

?

?

二、thissuperfinal

?

this:

?

1、在调用属性或者方法时,可代指本类中的对象。格式为:this.属性名或方法名;

?

2、在构造方法中调用本类的某一个构造方法(参数数量和顺序必须对应)格式:this(参数);

举例如下:

?

?

public class Student {
  //一个“学生”类
  
  //定义属性
  public String name;
  private int num;
  
  //创建一个构造方法,在该构造方法中调用本类的另一个构造方法时,运用到this关键字。
	public Student() {
		
		this(null, 0);
		//调用的是含两个参数的构造方法。
	}
  
  //含一个name参数的构造方法
	public Student(String name) {
		this(name, 0);
	}

  //含两个name和num参数的构造方法,无参的构造方法调用的既是该构造方法。
	public Student(String name, int num) {

  //在这里this表示本类的对象,this.name即表示该对象的name属性。
		this.name = name;
		this.num = num;

	}
  public void test() {
		System.out.println("父类的方法!!");
	}
}

?

?

super:

?

1、在子类中有时需要调用父类的方法,需要用到super。此时super代指父类的一个对象。格式:super.方法名;

?

2、在子类的构造方法中调用父类的构造方法。必须使用super关键字,同样,参数的数量和顺序必须对应。格式:super(参数);

举例如下:

?

?

public class UNStudent  extends Student{
//创建一个“大学生”子类继承“学生”父类
	
  //创建一个构造方法
	public UNStudent(){
		super(null);
  //在该子类的构造方法中,使用super关键字
  //调用父类的带有一个String类型参数的构造方法。
	}
	
	
	public void change(){
  //使用this关键字调用本类(子类)中的test方法。
		this.test();
  //使用super关键字调用父类中的test方法。该super代指父类的一个对象
		super.test();
	}

	//重写时不能减小方法的可见范围
	public  void test() {
		System.out.println("子类的方法!!");
	}
	
}

?

?

final:

?

final的中文意思为最后的,最终的;决定性的;不可更改的。类似于C语言中的const关键字,它限定一个变量不允许被改变

?

final可以修饰类,所修饰的类可理解为“最后的类”,不能被继承。final类与普通类的使用几乎没有差别,只是它失去了被继承的特性。使用时要慎重。

?

也可修饰属性,所修饰的属性可理解为“不可更改的属性”,为常量。当在类中定义变量时,在其前面加上final关键字,那便是说,这个变量一旦被初始化其值便不可变,其初始化可以在两个地方,一是在final变量定义时直接给其赋值,二是在构造函数中。这两个地方只能选其一,不能同时既在定义时给了值,又在构造函数中给另外的值。

还可修饰方法,所修饰的方法可理解为“最终的方法”,不可被重写。将方法声明为final,就说明这个方法提供的功能已经满足要求,不需要进行扩展,并且也不允许任何从此类继承的类来重写这个方法,但是继承仍然可以继承这个方法,可以直接调用该方法

?

三、static(静态的)

static除了可以修饰类,方法和属性外,还可以直接修饰代码块。如:

?

?

  static{	
  
			System.out.println("A");
  }

?

?

?

1、static修饰属性时,属性为静态属性,又称为“类属性”,可以不创建类的对象而直接调用,也表示该类所有的对象共享的一个属性,因此,当某一个对象的static属性值被改变后这个类所有对象的static属性值都会被改变。

?

举例如下:将上述代码中父类的name属性定义为static

在主函数中调用时:

?

?

?

Student stu1 = new Student();
	stu1.name = "孙茜";//等价于Student.name = "孙茜"		
	UNStudent stu2 = new UNStudent();
	stu2.name = "张晓玥";//等价于Student.name = "张晓玥"

?

当再次输出stu1name时,显示的仍为“张晓玥”,因为当某一个对象的static属性值被改变后这个类所有对象的static属性值都会被改变。

?

2static修饰方法,在调用时只跟类名有关。但在static方法中,则只能直接调用static属性,非static属性,就必须通过创建对象来调用。

?

??? 3static修饰代码块,在主函数执行之前就会执行的代码。静态代码块在被装载进虚拟机的时候就被执行,一般的静态代码块被用来初始化静态属性。

?

?

?

?

?

?

?

<!--EndFragment-->

?

发表评论
用户名: 匿名