一.基础概念 1.关键字final可以修饰类.函数.变量. 2.关键字final修饰的类不可以被继承. 3.关键字final修饰的方法不可以被覆盖. 4.关键字final修饰的变量是一个常量,只能被赋值一次. 程序中不变的数据都用final修饰,提供程序的阅读性. 被final修饰的变量名称规范:所有字母大写.若由多个单词组成,需要使用_进行分隔. 二.实例代码 class Fu { public final double PI = 3.14; //final修饰PI,只能被赋值一次. //PI…
一.基础概念 (一)super关键字 super关键字的用法和this相似.this代表的是当前对象.super代表的是父类中内存空间. 子父类中是不会出现同名属性的情况. (二)继承中.成员变量问题 当成员变量中出现了同名的局部变量,用关键字 this来区分.当父类中出现了同名的成员变量,用关键字 super来区分 (三)继承中,成员函数问题 1.子父类中出现一样的方法(返回值类型.函数名.参数列表等都一样),创建子类对象调用该方法时,运行的是子类中的方法. 2.这种情况称之为函数的另一个特性…
一.基础概念 静态关键字 static 是成员修饰符,直接用于修饰成员. (一)特点: 1.被静态修饰的成果,可以直接被类名所调用. 2.静态成员优先于对象存在. 3.静态成员随着类的加载而加载.随着类的消失而消失.静态成员的生命周期很长. (二)注意事项: 1.静态方法只能访问静态成员,不能访问非静态成员. 2.静态方法中不能出现this或者super关键字. 3.主函数是静态的. (三)什么时候用: 1.成员变量:如果数据在所有对象中都是一样的.直接用静态修饰. 2.成员函数:如果函数没有访…
一.基础概念 1.关键字this是指:哪个对象调用this所在的函数.this就指向当前这个对象. 2.用法: (1).this关键字可以解决:构造函数私有化问题. 注意:构造函数只能被构造函数调用,不能直接被一般方法调用. (2).this关键字可以用于构造函数间的调用,可以访问本类中的其他构造函数.是为了初始化的复用. 注意:必须定义在构造函数的第一行! 不要出现互相调用,产生递归,容易栈溢出. (3).this关键字用来区分局部变量和成员变量同名的情况. 注意:this关键字标识的成员变量…
一.基础概念 (一)接口可以简单的理解为,是一个特殊的抽象类,该抽象类中的方法都是抽象的. 接口中的成员有两种:1.全局常量 2.抽象方法 定义接口用关键字interface,接口中的成员都用固定的修饰符public来修饰. (二)接口的特点: 1.接口不可以实例化. 2.接口的子类必须覆盖接口中的所有抽象方法后,才可以实例化.否则该子类是抽象类. 3.接口是用来被实现的. (三)接口解决的问题: 1.因为多继承调用的不确定性,java中是不直接支持多继承的,但可以通过接口来解决,将多继承转换成…
一.基础概念 (一)继承的好处: 1.继承:提高了代码的复用性. 2.让类与类之间产生了关系,给多态这个特征提供了前提. (二)继承的种类: 1.单继承:一个类只能有一个父类. 2.多继承:一个类可以有多个父类.     3.java支持单继承,不直接支持多继承.(因为多继承调用的不稳定性) (三)继承使用时候: 1.当事物之间存在着所属关系时.可以通过继承来体现这个关系. 如:XXX是YYY的一种.XXX extends YYY 2.父类中私有的部分,子类对象是无法直接访问的.子类对象通过se…
一.基础概念 抽象事物,是若没有具体的信息可以描述这个事物,这个事物可以称为抽象事物. 抽象类,是不断的向上抽取而来.抽取方法声明而不确定具体的方法内容.由不同的子类来完成具体的方法内容. (一)抽象类的特点: 1.抽象方法没有方法体,必须由抽象关键字abstract来修饰. 1.抽象方法一定是存在于抽象类中,必须有抽象关键字abstract来修饰. 2.抽象类不能实例化.不能用new关键字创建对象. 3.子类必须覆盖抽象类中的所有抽象方法后,才可以实例化.否则该子类还是一个抽象类. (二)抽象…
Java面向对象-static关键字.静态方法与普通方法 static关键字的基本作用:方便在没有创建对象的情况下来进行调用(方法/变量). 很显然,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问.具体用途如下: 1.static可以用来修饰类的成员方法.类的成员变量: 2.可以编写static代码块来优化程序性能. java里方法分为 static静态方法和普通方法: 所谓静态方法 是加了static修饰词的方法,我们使用的时候 一般…
JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率. 1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4:描述一个变量 1:方法都是静态的,静态只能访问静态,所以变量也定义为静态的. public static double PI=3.14; 1:如果定义为public后,新的问题,类名.PI=300; 改变了PI的值. 2:修改为private,修改为private后进行了封装,需要getset公共…
JAVA面向对象-–super关键字 1:定义Father(父类)类 1:成员变量int x=1; 2:构造方法无参的和有参的,有输出语句 2:定义Son类extends Father类 1:成员变量int y=1; 2:构造方法无参和有参的.有输出语句this.y=y+x; 3:创建Son类对象 Son son=new Son(3); System.out.println(son.y); //4 class Father { int x = 1; Father() { System.out.p…