摘要:
一、静态变量和实例变量的区别 1、静态变量 由static修饰,在jvm中,静态变量加载顺序在对象之前,所以静态变量不依赖对象的存在,可以不实例化对象的情况下使用类的静态变量。 通过上面的代码可以看出,静态变量可以在未实例化对象的时候使用,但是非静态变量只能在实例化对象时候才能使用。 运行结果为: 阅读全文
摘要:
常量和变量命名,不建议使用中文,在不同的平台会出现乱码。 1、常量 常量是一种特殊的变量,它的值被设定后,在程序运行过程中不允许改变,用final修饰,一般用大写字符。 语法:final 常量名 = 值; 可以看出,编译器报错,常量是不能被赋值的,但是可以赋值给别的变量。 2、变量 变量命名的规则: 阅读全文
摘要:
下面我定义了三个public、protected、private这三个级别的变量和不带修饰符的变量,其中defaule关键字不需要带上,defaule带上后编译器会报错,在不同的类和不同的包中测试 可以看出,在同一个类中,是都可以访问的,带上default修饰符会报错 通过上面的代码可以看出在Bas 阅读全文
摘要:
super可以理解为是指向自己超(父)类对象的一个指针,而这个超类指的是离自己最近的一个父类。 class BaseAction { 运行结果: 张三20 class BaseAction { 运行结果: 李四21 class BaseAction { 运行结果: 李四0 总结:super.valu 阅读全文
摘要:
class Main{ 运行结果: 父类,无参构造方法子类,无参构造方法 class Main{ 运行结果: 父类,无参构造方法子类,含一个参数的构造方法张三 class Main{ 运行结果: 父类,无参构造方法 class Main{ 运行结果: 父类,含一个参数的构造方法张三 总结:在实例化对 阅读全文
摘要:
不可重写私有方法。 不可重写非静态的方法,虽然编译器不会报错,但是得不到预期的结果。 可以通过重写的形式对父类的功能进行重新定义,比如:对功能进行修改或者进行升级时。 class BaseAction { 运行结果: BaseAction.showMsgBaseAction.getName:张三 现 阅读全文
摘要:
final可以修饰类、方法、变量。 final修饰类不可以被继承,但是可以继承其他类。 final修饰的方法不可以被覆盖,但可以覆盖父类方法。 final修饰的变量包括局部变量、成员变量、类变量,变量在声明的时候必须赋值,后面不可给final修饰的变量重新赋值。 通常规范中,被final修饰的变量是 阅读全文
摘要:
多态需要满足三个条件: 1、继承。 2、重写。 3、父类数据类型的引用指向子类对象。 public class BaseAction { 运行结果: 猫在睡觉猫在吃饭猫在走路 从代码中可以看出,多态存在弊端,就是不能使用子类特有的属性和方法,在Main类中使用UserAction中的drinking 阅读全文