面向对象(上):
1, 什么是面向对象, 什么是面向过程 ?面向对象是用什么方法做某事,这件事是对象,方法不管
面向过程是用什么方法做某事,这个方法就是过程
2, 类, 对象, 成员变量(属性,静态属性), 成员方法(方法, 动态属性), 局部变量分别的含义 ? 3, 面向对象的特点有什么 ? 封装 private(public) 继承 多态 重名的变量名有不同的表现形式 Cut Cut4, 如何在程序中创建一个对象 ?(首先要定义一个类)
类体 成员变量的作用范围(整个类) 练习: 编写一个Person的类, 使其有一个方法可以调用, 并打印出姓名和年龄 我叫..., 今年多少岁类和类之间的关系
关联关系(不好下一个定义描述关联关系, 比较弱的关系)一个类中的某个方法的参数是另一个类的对象
一个类中的成员变量是另一个类的对象*继承关系(extends关键字)
什么是一种什么 聚合关系 聚集 球队->队长 不是比不可少的 组合 一个类的组成部分是必不可少的 *实现关系 机器人: 走 跑 跳5, 成员变量在类中是如何初始化的 ?
byte 0 short 0 int 0 long 0L float 0.0F double 0.0D boolean false char '/u0000' 引用类型 null (引用类型是:所有的类, 所有的接口, 所有的数组)6, 如何更好的设计一个类 ?
合适的方法出现在合适的类里面 7, 什么是类的封装 ? private关键字修饰的成员变量, 只能在当前类中使用 需要用get,setpublic class Emp { // 构造方法/* public Emp() { System.out.println("空参的构造方法"); name = "Tom"; sal = 12345; age = 30; }*/ public Emp() {} public Emp(String _name, int _age) { //对外公开的方法 System.out.println("有参数的构造方法被调用了"); name = _name; age = _age; } private String name; // 姓名 private double sal; // 工资 private int age; // 0 - 120 1000 public void introduce() { System.out.println("我叫" + name + ", 工资是: " + sal + "今年" + age + "岁"); } public String getName() { return name; } public void setName(String name) { this.name = name; } public double getSal() { return sal; } public void setSal(double sal) { this.sal = sal; } public int getAge() { return age; } public void setAge(int age) { this.age = age; }}
8, 什么叫构造方法 ? 构造方法的重载 ? // 方法名相同, 参数列表不同
构造方法: 就是用来构造一个对象的方法 1, 构造方法没有返回值, 没有返回值也不能写void 2, 构造方法名与类名一模一样 3, 定义一个类的时候, 如果没有写任意的一个构造方法, 则默认生成一个空参的构造方法 4, 当一个类中有定义的带参数的构造方法的时候, 则空参的构造方法会消失