标签:instance 面向 匿名 封装 代码 setname final ceo 类的声明
this关键字的作用:
@Data public class jtest { private String name; public jtest(){ //调用构造方法,只能在构造方法中使用,且必须是第一行 this("dwx"); } public jtest(String name){ //区分成员变量和局部变量 this.name=name; } public void sN(){ //调用类中其他方法 this.setName("dwx"); } }
this在类中表示当前类将来创建出来的对象
使用private修饰需要封装的成员变量;提供一个公开方法来获取和设置成员变量
Java中类只有单继承,没有多继承,接口可以多继承
在子类继承父类后,可以使用super来访问或调用父类中方法或属性
子类构造器会隐式调用父类的无参构造(super()),如果父类的无参构造被有参构造覆盖,则不能调用父类无参构造
super调用父类构造器必须在子类构造器的第一行、
静态方法不能重写:
私有方法不能被子类重写,因为子类继承父类不能直接访问父类的私有方法,但是可以拥有两个同名的方法
方法在重写时:
一个父类的引用可以指向其任何一个子类对象
编译看左边:找编译时,编译器会检测对象引用类型中是否含有指定的成员,没有就会报错
instanceof:x instanceof y,主要看变量x与变量y是否存在父子关系,有父子关系编译会通过,没有父子关系编译会报错;输出是true还是false要看x指向的实际类型是不是y的子类
总结:
代码块(匿名代码块)和静态代码块,匿名代码块的作用主要是初始化成员变量的值
public class jtest { //匿名代码块 { System.out.println("执行匿名代码块"); } static { System.out.println("执行静态代码块"); } public static void main(String[] args) { //类加载,执行静态代码块,只执行一次;创建对象时自动执行匿名代码块,执行两次 jtest jtest1=new jtest(); jtest jtest2=new jtest(); } }
抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类
接口中的变量都是静态常量(public static final修饰的)
一个类可以实现多个接口,且需要实现所有接口里的方法,如果没有全部实现,则需要将这个类声明为抽象类
一个接口可以继承多个父接口
内部类分为4种:
成员内部类不能写静态方法或静态属性
public class JavaTest { class Inner{ } public static void main(String[] args) { //先实例化外部类 JavaTest javaTest=new JavaTest(); //再实例化内部类 JavaTest.Inner inner=javaTest.new Inner(); } }
成员内部类作用:
public class JavaTest { private int id; class Inner{ private int id=9; public void test(){ System.out.println(JavaTest.this.id); } } public static void main(String[] args) { //先实例化外部类 JavaTest javaTest=new JavaTest(); //再实例化内部类 JavaTest.Inner inner=javaTest.new Inner(); inner.test(); } }
静态内部类直接用外部类类名来实例化就行
public class JavaTest { private int id; public static class Inner{ } public static void main(String[] args) { JavaTest.Inner inner= new JavaTest.Inner(); } }
不能访问外部内的非静态变量或方法,可以声明自己的静态变量和方法
局部内部类是在一个方法内部声明一个类,可以访问外部类的成员变量和方法,局部内部类要访问其所在方法的局部变量,局部变量必须是final修饰
局部内部类由其所在方法实例化
匿名内部类需要依托于其他类或接口创建
匿名内部类的声明必须是在使用new关键字时。
标签:instance 面向 匿名 封装 代码 setname final ceo 类的声明
原文地址:https://www.cnblogs.com/python-road/p/14673979.html