java学习笔记2--面向对象编程( 四 )


① 我们可以在类的构造器中,显式的使用"this(形参列表)“的方式,调用本类中重载的其他的构造器!
② 构造器中不能通过"this(形参列表)“的方式调用自己 。
③ 如果一个类中声明了n个构造器,则最多有n -1个构造器中使用了"this(形参列表)” 。
④ "this(形参列表)"必须声明在类的构造器的首行!
⑤ 在类的一个构造器中,最多只能声明一个"this(形参列表)” 。
4.this也可以单独使用,表示当前对象;super不可以单独使用 。
10.3 和
idea快捷键alt+;
方法中不用加this,因为没有重名的形参;
private String name;public void setName(String name){this.name = name;}public String getName(){return name;}
11.和关键字 11.1 包11.2 导入12.项目2–客户信息管理系统 12.112.1.1 sc.next()和sc.()
Scanner sc = new Scanner(System.in);System.out.print("输入:");String s = sc.next();//不会读入空格System.out.print("输出:");System.out.println(s);
输入:123 1232312输出:123
Scanner sc = new Scanner(System.in);System.out.print("输入:");String s = sc.nextLine();//不会读入空格System.out.print("输出:");System.out.println(s);
输入:12321 2312 213输出:12321 2312 213
12.1.2 try-catch-12.2 增删改查操作 12.2.1 删除一个用户
数组中删除一个元素后,后边元素都要前移 。
public boolean delCustomer(int index) {if (index >= total || index < 0)return false;for (int i = index; i < total - 1; i++) {customers[i] = customers[i + 1];}customers[total - 1] = null;total--;return true;}
12.312.3.112.4 内存解析
13.继承
完整笔记
13.1 定义
当多个类中拥有相同的属性和方法时,将这些内容抽取到一个单独的类中,别的类就不需要定义这些类或方法,直接继承哪一个类即可 。
格式:class AB{}
13.2 目的13.3 细节13.4 向上查找原则(每一个父类都是一个子类) 13.4.1 规则
因为方法可以重写,而属性不能重写,所以方法满足动态绑定机制,而属性是就近原则 。
多态是在继承的基础上实现的,多态主要的作用是提高代码的通用性,所以继承和多态的方法和属性调用逻辑相同 。
方法:编译看左边,运行看右边 。(普通继承等号左右是同一个类)
属性:编译看左边,运行看左边 。
13.4.2 例题(重要)上面的规则,注意在类A中的this是new B(),super代表A 。try-catch-中,在try中执行之前始终会执行里面的代码,如果里面有,则数据跟随改变并返回,不会再执行try中的 。如果没有,则原数据不跟随里改变的数据改变!
class Test {public static void main(String[] args) {System.out.println(new B().getValue()); // }static class A {protected int value;public A (int v) {setValue(v);}public void setValue(int value) {this.value= http://www.kingceram.com/post/value;}public int getValue() {try {value ++;return value;} finally {this.setValue(value);System.out.println(value);}}}static class B extends A {public B () {super(5);setValue(getValue()- 3);}public void setValue(int value) {super.setValue(2 * value);}}}
22 34 17
13.5 实例化对象时构造器的执行顺序
先执行父类的构造器,在执行子类构造器中的语句 。
14. 方法的重写 14.1 定义