JAVA笔记

修改的toSring()方法以及格式化输出

public String toString(){
    return("Account#" + accountNumber + " with Balance " + 
    new java.text.DecimalFormat("$0.00").format(balance));
}

属性的隐藏、方法的覆盖

子类声明了和超类中形同的成员变量名

子类执行继承自超类的操作,处理继承自超类的变量;

执行自己声明的方法,操作自己声明的变量;

通过super.变量名访问超类中的变量,若变量为静态,则不被继承,但是超类对象和子类对象的变量相同。

相等与同一

a.equals(b)和==都是判断引用是否同一

判断是否相等重写equals

	public boolean equals(Object x){
		if(this.getClass() != x.getClass())
			return false;
		BankAccount b = (BankAccount) x;
		return
			((this.getOwnerName().equals(b.getOwnerName()))
			&&(this.getAccountNumer().equals(b.getAccountNumer()))
			&&(this.getBalance().equals(b.getBalance())));
	}

	public boolean equals(Object obj) {
		if(obj instanceof Apple) {
			Apple a = (Apple) obj;
			return (cplor.equals(a.getColor()) && (ripe==a.getRipe()));
		}
		return false;
	}

final

终结类不能被继承,终结方法不能被覆盖

abstract

抽象类包含抽象方法,不能实例化,用作超类,子类不含抽象方法才能实例化

构造方法与this

系统会先执行定义时赋的初值,然后再执行构造函数中赋的初值

关键字this:

    1,在普通方法中,关键字this代表方法的调用者,即本次调用了该方法的对象,可以省略

    2,在构造方法中,关键字this代表了该方法本次运行所创建的那个新对象

类型转换

Employee emp;
Manager man;
emp = new Manager(); //系统将Manager对象塑型为Employee类
man = (Manager) emp; //显示转换

Car jetta = new Car();
Insurable item = jetta; //被塑型为 对象所属类实现的接口类型

方法查找

类方法总是在引用变量声明时所属的类中进行查找

实例方法从对象创建时的类开始,沿类层次向上查找

JAVA读写文件

public class Hello {

    public static void main(String[] args) throws IOException {
        int n = 5;  //N*N数组
        double[][] arr = new double[n][n]; //插入的数组

        //数组初始化,随机生成的[0,100)之间的double数
        for(int i=0;i

 

你可能感兴趣的:(JAVA,JAVA)