java笔记

来源:互联网 发布:咖啡网络课程 编辑:程序博客网 时间:2024/06/06 16:35

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、程序中出现超类对象的任何地方都可以用子类对象置换,即可以将一个子类的对象赋给超类变量;

理解:子类是经理,超类是员工,但经理也是员工

0 0