二、方法
1、实例方法与静态方法的区别
1)实例方法:
可以访问实例变量和静态变量,只能通过对象调用,可以通过方法名调用本类中的其他实例方法
不能通过方法名调用其他类的私有实例方法和私有静态方法
2)静态方法:
也称类方法,只能访问静态变量,不需要类的实例化,可以被类直接调用,通过类名.访问
可以直接调用本类的静态方法,也可以调用其他类中的静态方法,可以通过实例化对象调用实例方法
静态方法中不能引用其外部的非静态成员变量/属性,不能使用this关键字
2、抽象方法:
由abstract修饰,没有方法体(具体的实现),抽象方法必须重写
在抽象类中和接口中定义,有抽象方法的类必须是抽象类
不可以是静态的,不可以在普通类中定义
3、构造方法:
作用:实例化对象的时候给属性成员进行初始化
构造方法在创建对象时执行,没有返回值
构造方法若没写系统默认提供一个无参构造方法,若写了则不再提供
与类同名,类中可以有与类名相同的方法
构造方法可以重载,一个类可以定义多个构造方法
在子类构造方法的开始默认情况下有一句 super();来调用父类的构造方法
4、方法的修饰符
1)public:修饰的方法可被其它类访问或引用
2)final修饰的方法不能被继承
3)static:
可以修饰方法、类和变量,static修饰的方法为静态方法,static修饰的变量为静态变量
静态方法不需要类的实例化就可以被类直接调用
4)abstract:
只能修饰方法和类,不能修饰属性/字段,抽象方法不可以是静态的
abstract不能和final修饰同一个类
抽象类中可以有private变量,要使用抽象方法,必须先实现此抽象方法