您的位置:首页 > 编程语言 > Java开发

Java类

2016-08-09 20:13 288 查看
/**
* Created by LiuinStein on 2016/5/6.
*/

class A {
private int a = 0;
protected int b = 0;
public int c = 10;

public static int sa = 6;
public static int sb = 2;

// JAVA是不会有默认构造方法的
A() {
a = 2;
b = 3;
}

//复制构造方法
A(final A ca) {
//通过在此处的输出我们发现在这里是值传递
System.out.println(ca.hashCode());
a = ca.a;
b = ca.b;
c = ca.c;
}

private int Sum() {
return a + b + c;
}

public int Sum2() {
return Sum() * Sum();
}

protected int Multi() {
return a * b * c;
}

public int Multi2() {
return Multi() * Multi();
}

static int max(int x, int y) {
return x > y ? x : y;
}

int min(int x, int y) {
return x > y ? y : x;
}

static double division() {
return // max(a,b); ///无法在静态方法中引用非静态成员变量
// min(sa, sb); ///无法在静态方法中引用非静态成员方法
max(sa, sb) / 2; /// 静态方法和静态成员
}

}

public class Main {

public static void main(String[] args) {
A a = new A();
// 访问性
System.out.println("pub a.Sum2(): " + a.Sum2()); // 外部可访问public
System.out.println("pro a.Multi(): " + a.Multi());// 外部可访问protected
// 修改性
a.b = 1; // protected外部可修改性
a.c = 1; // public外部可修改性
System.out.println("pub a.Sum2(): " + a.Sum2());
System.out.println("pro a.Multi(): " + a.Multi());
// 静态成员
// 静态方法可以直接通过类名访问
System.out.println("\nstatic A.division " + A.division());
// 静态成员可以直接通过类名访问
System.out.println("A.sa " + A.sa);

//哈希码值
System.out.println("\nhasCode:");
System.out.println(a.hashCode());    //hashCode返回哈希码值
//只要对象的内容保持不变那么他的hashCode也保持不变
A b = new A(a);        //通过在此处的输出我们发现在这里是值传递
System.out.println();

}

}
首发于我的个人网站: 点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 基础