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

java笔记

2015-09-10 18:21 423 查看
1、类常量(使用static final设置类常量)定义位于main方法的外部;

2、不能使用==运算符判断字符串的相等性;

3、要检查一个字符串是否为null,可以使用if(str == null);检查一个字符串既不是null也不是空串,可使用if(str!=null && str.length() != 0)

4、int[] a = new int[100];//创建一个可存储100个整数的数组

5、数组遍历:for(element:a) System.out.println(element);

6、子类对象可以使用超类的方法;

7、子类的方法不能直接地访问超类的私有域;但子类的方法可通过公有接口”super.方法”访问超类的私有域;

8、子类中可以增加域、增加方法或覆盖超类的方法,但绝不能删除继承的任何域和方法;

9、子类的构造器不能访问超类的私有域,所以必须利用超类的构造器对子超类的私有域进行初始化,子类通过super实现对超类构造器的调用;但该语句必须是子类构造器的第一条语句;

package employee;

public class ManagerTest {

public static void main(String[] args) {
// TODO Auto-generated method stub
Manager boss = new Manager("Carl Cracker",80000,1987,12,15);
boss.setBonus(5000);

Employee[] staff = new Employee[3];

staff[0] = boss;
staff[1] = new Employee("Harry Hacker",50000,1989,10,1);
staff[2] = new Employee("Tommy Tester",40000,1990,3,15);

for(Employee e:staff){
System.out.println("name = " + e.getName() + ",salary=" + e.getSalary());
}
}

}

package employee;

public class Manager extends Employee{

private double bonus;
public Manager(String n,double s,int year,int month,int day) {
//通过super构造器对超类的私有域进行初始化
super(n,s,year,month,day);
bonus = 0;
}

public double getSalary(){
//通过super访问超类的私有域
double baseSalary = super.getSalary();
return baseSalary + bonus;
}

public void setBonus(double b){
bonus = b;
}

}

package employee;

import java.util.Date;
import java.util.GregorianCalendar;

public class Employee {
private String name;
private double salary;
private Date hireDay;

public Employee(String n,double s,int year,int month,int day){
name = n;
salary = s;
GregorianCalendar calendar = new GregorianCalendar(year,month-1,day);
}

public String getName(){
return name;
}

public double getSalary(){
return salary;
}

public Date getHireDay(){
return hireDay;
}

public void raiseSalary(double byPercent){
double raise = salary * byPercent / 100;
salary += raise;
}
}


10、判断是否应该设计为继承关系的简单规则,“is-a”规则,它表明子类的每一个对象也是超类的对象;

11、程序中出现超类对象的任何地方都可以用子类对象置换,即可以将一个子类的对象赋给超类变量;

理解:子类是经理,超类是员工,但经理也是员工
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: