java 访问修饰符
关于Java中各种修饰符与访问修饰符的说明
类:
访问修饰符 修饰符 class 类名称 extends 父类名称 implement 接口名称
(访问修饰符与修饰符的位置可以互换)
访问修饰符
名称
说明
备注
public
可以被所有类访问(使用)
public类必须定义在和类名相同的同名文件中
package
可以被同一个包中的类访问(使用)
默认的访问权限,可以省略此关键字,可以定义在和public类的同一个文件中
private
修饰内部类
修饰符
名称
说明
备注
final
使用此修饰符的类不能够被继承
abstract
如果要使用abstract类,之前必须首先建一个继承abstract类的新类,新类中实现abstract类中的抽象方法。
类只要有一个abstract方法,类就必须定义为abstract,但abstract类不一定非要保护abstract方法不可
变量
l Java中没有全局变量,只有方法变量、实例变量(类中的非静态变量)、类变量(类中的静态变量)。
l 方法中的变量不能够有访问修饰符。所以下面访问修饰符表仅针对于在类中定义的变量。
l 声明实例变量时,如果没有赋初值,将被初始化为null(引用类型)或者0、false(原始类型)。
l 可以通过实例变量初始化器来初始化较复杂的实例变量,实例变量初始化器是一个用{}包含的语句块,在类的构造器被调用时运行,运行于父类构造器之后,构造器之前。
l 类变量(静态变量)也可以通过类变量初始化器来进行初始化,类变量初始化器是一个用static{}包含的语句块,只可能被初始化一次。
访问修饰符
名称
说明
备注
public
可以被任何类访问
protected
可以被同一包中的所有类访问
可以被所有子类访问
子类没有在同一包中也可以访问
private
只能够被 当前类的方法访问
缺省
无访问修饰符
可以被同一包中的所有类访问
如果子类没有在同一个包中,也不能访问
相关文档:
/**
* @(#)MyTray.java
*
*
* @author Xie Xiaojin
* @version 1.00 2009/11/9
*/
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class MyTray implements ActionListener {
private MenuItem item1;
private MenuItem item2;
private MenuItem item3;
private ......
example: 求5的阶乘。。
如下:
public class Test {
static int multiply(int n){
if(n==1||n==0)
return n;
else
return n*multiply(n-1);
}
public static void main(String[] args){
System.out.println(multiply(10));
}
......
java 循环打印出某对象所在类的类名和方法
public class A {
public void b(){}
public void c(){}
public void d(){}
public void e(){}
}
import java.lang.reflect.*;
public class StaticTest {
public static void test(Object obj)
{
Class myclass = obj.getClass();
//System.out.prin ......
2009-11-09 15:33:36
文件属性配置类
package cn.sist.file;
public class FileProperty {
private int sysProperty = 0;
private int hiddenProperty = 0;
private int readProperty = 0;
private int arriveProperty = 0;
private boolean changeAll = false;
public FileProperty setC ......
import java.util.Random;
public class MathOperators {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//随机数的产生
int[] arr = new int[10];
Random r = new Random();
for (int m = 0; m < arr.length; m++)
{
arr[m] = ......