面向对象

来源:互联网 发布:罗志祥潮牌 知乎 编辑:程序博客网 时间: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());

方法参数

这里写图片描述

这里写图片描述

重载

这里写图片描述

默认域初始化

这里写图片描述

无参构造器

这里写图片描述

有参构造器

这里写图片描述

类设计技巧

这里写图片描述

原创粉丝点击