目录 一、 Java面向对象的三大特性 二、 在一个静态方法内调用非静态成员--非法 三、 string stringbuffer stringbuilde区别 四、在java中定义无参构造方法的作用 五、 接口和抽象类的区别 六、 成员变量与局部变量的区别 七、Java中对象相等与指向他们引用相等 八、Final的作用 一、 Java面向对象的三大特性 封装 继承 多态 封装 封装的概念:是指将描述某种实体的数据和基于这些数的操作集合到一起,形成一个封装体。可以使用户无法轻易直接操作类的内部数据,这样降低了对内部数据的影响,提高了程序的安全性和可维护性。 封装的好处:只能通过规定的方法访问数据;隐藏类实现的细节;方便修改实现;方便加入控制语句。 public class Demo1 { public String name; // 公有的 protected int age; // 受保护的 char sex; // 默认的 private int num; // 私有的 /* * 获取私有成员num值 * @return */ public int getNum() { return num; } /* * 设置私有成员num的值 * @param num */ public void setNum(int num) { this.num = num; } } 继承 概念:继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或类从父类继承方法,使得子类具有父类相同的行为。 特点: 继承鼓励类的重用 继承可以多层继承 一个类只能继承一个父类(继承多个可以用接口) 父类中private修饰的不能被继承 构造方法(初始化用)不能被继承 共性放到父类,特性放到子类;子类,父类 --> 其实就是特殊 --> 一般 1.关键字: extends 例如:Dog extends Animal{} 2.java中一个类最多只能有一个直接的父类,即单继承(具有简单性、树形结构) 使用继承: 编写父类 package com.hanjia.test.jicheng; public class Father { public String name; public char sex; public int age; public Father() { System.out.println("我是无参构造"); } public Father(String name) { this.name = name; System.out.println("我是有参构造"+name); } public void say(){ System.out.println("我会说话")