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实现对超类构造器的调用;但该语句必须是子类构造器的第一条语句;
10、判断是否应该设计为继承关系的简单规则,“is-a”规则,它表明子类的每一个对象也是超类的对象;
11、程序中出现超类对象的任何地方都可以用子类对象置换,即可以将一个子类的对象赋给超类变量;
理解:子类是经理,超类是员工,但经理也是员工
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、程序中出现超类对象的任何地方都可以用子类对象置换,即可以将一个子类的对象赋给超类变量;
理解:子类是经理,超类是员工,但经理也是员工
相关文章推荐
- 图解 & 深入浅出Java初始化与清理:构造器必知必会
- eclipse使用相关
- 图解 & 深入浅出Java初始化与清理:构造器必知必会
- java简单的测试方法执行了多少时间
- viewpager加载fragment出错Caused by: java.lang.IllegalStateException: The specified child already has a p
- Java中super的几种用法并与this的区别
- FaceFinger多生物服务使用示例(java版)
- SpringMvc+FreeMaker中json 时间格式转换
- Spring搭建框架
- Spring MVC之@RequestBody, @ResponseBody 详解
- Java对象clone
- spring原理
- Java的ArrayList源码浅析
- Eclipse将引用了第三方jar包的Java项目打包成jar文件的两种方法
- java验证一个数是2的次幂
- Java CheckException与UncheckException
- spring容器创建对象的生命周期
- 【Spring】Spring MVC 的json问题(406 Not Acceptable)
- Maven Struts2
- struts2的获取请求方法