JAVASE学习笔记

来源:互联网 发布:微表情心理学软件 编辑:程序博客网 时间:2024/06/05 16:24


静态:

静态方法:

静态方法中不能使用this关键字,原因是静态是随类的加载而加载的,而this是对象创建而加载的。

静态方法只能调用静态变量


多态:

多态的优点:

提高代码的维护性;(由继承保护)

提高代码的扩展性;(由多态保证)

多态的弊端:

不能使用子类的特有功能;

多态中的成员访问特点:

成员变量和静态方法:编译和运行都看左边;

构造方法:创建子类对象的时候,访问父类的构造方法,对父类的数据进行初始化;

成员方法:编译看左边,运行看右边;


抽象类:

不能被实例化;(可以通过多态的方式实例化(向下转型))

可以有非抽象方法;

有构造方法,用于子类访问父类数据的初始化

抽象方法:

会和private和final冲突,static则显得无意义


接口:

成员特点:

成员变量:

只能是常量,默认的修饰符是public static final

构造方法:

没有,因为接口主要是扩展功能的,而没有具体存在的

成员方法:

只能是抽象方法

默认修饰符public abstract


抽象类和接口的区别(面试):

成员区别:

抽象类:常量,变量,抽象和非抽象方法

接口:常量;抽象方法

关系区别:

类与类  继承:单继承。

类与接口  实现:单实现,多实现

接口与接口 继承:单继承,多继承。

理念区别:

抽象类体现的是“is  a”的关系。共性功能。

接口体现的是“like  a”的关系。扩展功能。




内部类:

成员内部类的使用:

外部类名.内部类名  对象名  =  new 外部类对象.new 内部类对象

如果成员内部类被修饰为静态则

外部类名.内部类名  对象名  =  new 外部类对象.内部类对象

注意事项:

内部类和外部类没有继承关系

若想访问外部类的同名成员变量可用:new 外部对象.成员变量或者外部类.this.成员变量。

局部内部类:

可直接访问外部类的成员

在局部位置可以直接创建内部类对象,通过对象调用内部类方法

注意事项:

局部内部类访问局部变量必须使用final修饰,因为方法调用完毕后局部变量会被清理,而堆内存中的对象不会立即消失,所以需用用final去修饰局部变量

匿名内部类:

其本质是继承该类或实现了该接口的子类匿名对象

例:

interface Inter{    public void show(); }public class Test{     public void method(){       Inter i  =  new Inter(){              public void show(){                   System.out.println("show");              }           };
<span style="white-space:pre"></span>i.show();      }public static void main(Stirng[]args){   Test t = new Test();    t.method();}}


字符串:

String 一旦被赋值后就不能修改,StringBuffer内容可修改且线程安全,StringBuilder内容可修改,高效,线程不安全;

当String和StringBuffer当作参数传递时,String视为普通字符串,StringBuffer作为引用对象


BigDecimal:

由于float和double存在精度问题,所以用BigDecimal可以解决改问题。

0 0
原创粉丝点击