📄 5~
字号:
对象和类:1 OOP:采用面向对象 思想 组织代码2 特点(feature):Encapsulation,Polymorphism,Inheritance3 形式参数:方法声明时参数内容 实际参数:方法调用时形式参数的对应内容 参数传递时,依据数据类型分两种: 1)基本类型:传值 2)应用类型:传引用4 垃圾回收是指回收堆区的内存空间 栈区主要存放局部变量,一旦局部变量失去了作用范围,该局部变量占用的空间就会 被释放6 方法重载(构造方法也可以重载) 如果自己没有定义构造方法,系统会自动调用默认无参构造方法(A a = new A();) 一旦自己定义了构造方法,系统就不会再去自动调用默认构造方法了 。 构造方法不可以重复调用。构造方法直接通过 this()调用 (this是个引用变量,而super只是通过一种方式调用父类中的方法) 默认构造方法的修饰符是:public class A { private int a; public A() { this.a = 1; //假若没有该构造方法,仅有下面的有参构造方法。 //则,A aa = new A(); 就会报错,声明必须是 A aa = new A(3); //假若有多个构造方法,则根据声明的时候 具体的形式再确定调用哪个构造方法 } public A(int a) { this.a = a; } } public class Test { public static void main(String[] args) { A aa = new A(); } }7 this() 和 super() 必须出现在第一条可执行语句。所以二者不可同时出现 //下面{}中的代码错误! { .............. super(); super("yangzb");//同一个方法中不能同时出现两个 super()构造方法 ......... } Constructor call must be the first statement in a constructor5 encapsulation(封装): 作用:便于代码维护 1) 数据(实例变量)隐藏: 目的:其他类不能通过实例变量名称直接获取以及修改 实现:在实例变量前加修饰符:private 2) 方法体隐藏: 实现:无须额外设置8 继承: 1)代码重用(有可能破坏封装--子类覆盖父类的方法) 2)为多态的使用提供基础 父类 n = new 子类();//子类属于父类类型的 (称为向上转换) 子类 n = (子类) new 父类();//父类赋值给子类必须强制转换 (称为向下转换) 子类继承父类的时候,子类的构造器都会隐式的调用父类的默认无参构造方法(super();) 如果父类中没有无参构造方法,则子类构造方法第一行一个通过 super(.....) 形式显示调用 父类有参构造方法 子类继承父类的构造方法的形式:super() 或者 super( [参数列表] ) (this的用法类似) 子类继承父类的普通方法的形式:super.function( [参数列表] ) 如果显示 调用了this(); 则系统不会自动调用super();因为二者不可同时出现9 多态: 运行时表现:执行所指向对象的方法(该方法必须在声明的类型里存在); 一个引用类型变量可以指向多种类型对象的现象 多种类型拥有下述关系: 继承关系 接口与实现类 关系 表现形式: 1)Base b = new Sub(); 2) 3)10 可见性: public -> protected -> default -> private
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -