面向对象
来源:互联网 发布:罗志祥潮牌 知乎 编辑:程序博客网 时间:2024/05/16 05:56
类
对象
识别类
类之间的关系
表达类关系的UML符号
构造器
显示参数和隐式参数
封装的好处
public class Employee { public static int nextId = 0; private String name; private double salary; private Date hireDate; public Employee(String n, double s) { name = n; salary = s; hireDate = new Date(); } public String getName() { return name; } public double getSalary() { return salary; } public Date getHireDate() { return (Date) hireDate.clone(); } public void raiseSalary(double byPercent) { double raise = salary * byPercent / 100; salary += raise; } public static int getNextId() { return nextId; }}
不要返回编写引用可变对象的访问器方法
Test.class
public class Test { public static void main(String[] args) { Employee harry = new Employee("周杰伦",8800.0); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date d = harry.getHireDate(); System.out.println(sdf.format(d)); d.setTime(d.getTime() + 24 * 60 * 60 * 1000); Date d2 = harry.getHireDate(); System.out.println(sdf.format(d2)); }}
结果:
2017-12-12 22:31:572017-12-13 22:31:57
修改成:
public Date getHireDate() { return (Date) hireDate.clone();}
final实例域
静态
静态域
Employee harry = new Employee("Harry", 16000.0);harry.nextId = 10;Employee tom = new Employee("Tom", 13000.0);tom.nextId = 20;System.out.println(harry.nextId); //20System.out.println(tom.nextId); //20System.out.println(Employee.nextId); //20
静态方法
输出
PrintStream ps = new PrintStream("D:\\file.txt");System.setOut(ps);System.out.println("HelloWorld");
读取
InputStream is = new FileInputStream("D:\\file.txt");System.setIn(is);Scanner sc = new Scanner(System.in);StringBuilder builder = new StringBuilder();while(sc.hasNext()){ builder.append(sc.nextLine()+"\n");}System.out.println(builder.toString());
方法参数
重载
默认域初始化
无参构造器
有参构造器
类设计技巧
阅读全文
0 0
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 面向对象
- 正则爬取多页图片及链接
- 回文串的处理
- The advance of Java -- Set, LinkedList, Map(Day03)
- Python Tkinter Grid布局管理器详解
- 不动点迭代法 一元非线性方程求根 C语言实现
- 面向对象
- JavaScript数组使用大全
- 月份天数的输入
- Sqli-labs2-5单引号变形,双引号,双注入
- 最大似然估计和最大后验概率估计
- 下标序列与斜率优化
- 1138. Postorder Traversal (25)(前序中序,求后序)
- Ada的另一个身份--计算机语言
- 求两个正整数的最大公约数