- 持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情
this与super:
this:指向当前对象本身,可以获取当前类的方法和属性(调用本类的构造方法) super:指向父类本身,可以获取父类的属性与方法(调用父类的构造方法)
&与&&
final关键字的作用:
1、作用在类上(不能被继承) 2、作用在属性上(只能赋值一次)常量 3、作用在方法上(不能被重写)
final finally finalize区别:
final 可以作用在类、方法、属性上; finally 异常捕获上用的,不管会不会抛出异常,都会执行finally方法体中的类容。若try-cacth(有返回值,都会返回finally中的返回值) finalize 是object中的一个方法,回收对象的判断。 代码 private static int a() { try { return 1; } catch (Exception exception) { exception.printStackTrace(); } finally { return 2; } } 输出: 2
break ,continue ,return 的区别及作用
break 结束本次循环 continue 结束本次循环,进入下一个条件循环 return 结束当前方法,直接返回。
面向对象的特征:
继承:子类继承父类,子类可以重写父类的方法,提高代码的复用性。
多态:例如父类或者接口的实例引用指向实现类或者子类。多个子类获取继承同一个父类,且都重写父类的方法。(一个方法有多种的实现方式)接口同上。表现(接口、继承)
抽象类是,abstract关键字进行修饰类,是一个完善功能类。
1、不能实例化 2、可以有属性,构造方法,抽象方法、普通方法 3、抽象方法没有方法体 4、抽象类要被继承,子类要实现抽象方法
接口是抽象方法的集合
接口不能 实例化、接口中的方法都是抽象的、接口中的没有构造方法、接口中没有成员变量只有成员常量、
普通类与抽象类的区别:
普通类:不能有抽象方法、可以实例化 抽象类:不能实例化,有抽象方法与非抽象方法
final 修饰类不能被继承,抽象类需要子类去继承,来实现抽象方法。有矛盾
new 关键字 ,对象实例是在堆中,引用是在栈中。一个对象可以有n个引用, 一个引用指向一个对象
成员变量、类变量、静态变量、局部变量
public class Variable{ static int allClicks=0; // 类变量(静态变量) int a;成员变量 String str="hello world"; // 实例变量 public void method(){ int i =0; // 局部变量 } }
内部类的分类有哪些:
静态内部类:类里面的静态成员。 成员内部类:可以访问外部类的所有的变量与方法,包括静态与非静态,私有和共有。 局部内部类:定义在方法中的内部类,都是局部类 匿名内部类:没有名字的内部类 (要么是接口,要么是抽象类)
不用创建对象,就可以调用属性和方法 静态的只能访问静态的,非静态的可以访问静态的与非静态的。 可以修饰成员变量,成员方法,代码块,修饰类(内部类)
匿名内部类:就是 没有名字的内部类。前提条件就是:父类或实现一个接口。
new 类名或接口名(){ @Override 访问修饰符 返回值 方法名(参数...){ 方法体 } }