- static的作用:在程序编译时分配一个一直存在的内存空间,直到程序退出,被static修饰的成员方法和属性可以不创建对象直接调用,且所有对象共享同一个变量,改变是统一的。
- final作用:final修饰的不可被继承,不可被修改,修饰的变量常为常量。注意若String name="jack";String name ="rose";不会报错,因为内存区域不同。
- overload与override区别:重载是在同一个类中,名字相同,但是内部参数的个数或者类型不同。重写是只有内部实现内容不同。
- 组合与继承的区别:首先什么是组合:就是普通的new一个对象。使用多态的时候用继承,多继承这种情况用组合。
- clone的作用:类似于对基本类型的值传递,复制一个副本出来,改变新对象不会改变原来对象的值。需要先实现clonable接口然后重写clone方法。
-
package zhentifenxi; import java.lang.*; //clone的使用 public class UseClone { public static void main(String[] args) { TestClone a=new TestClone(); TestClone b=a; TestClone c=(TestClone)a.clone(); c.changeI(); System.out.println(c.getI()); System.out.println(a.getI()); System.out.println(b.getI()); } } class TestClone implements Cloneable{ private int i=0; public int getI() { return i; } public void setI(int i) { this.i=i; } public void changeI() { this.i=1; } //rewrite clone methods public Object clone() { Object a=null; try { a=(Object)super.clone(); } catch (CloneNotSupportedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return a; } }
-
内部类:分为成员内部类、局部、静态、匿名。对应成员变量、局部变量、静态变量。着重说明匿名内部类:
new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub } }
代替以下:
private void setListener() { scan_bt.setOnClickListener(new Listener1()); history_bt.setOnClickListener(new Listener2()); } class Listener1 implements View.OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub } } class Listener2 implements View.OnClickListener{ @Override public void onClick(View v) { // TODO Auto-generated method stub } }
8.接口与抽象类对比:接口是纯抽象的,抽象类内部含有非抽象方法,接口内部全为抽象方法。接口可以多重继承。
-
反射机制:
真题分析
最新推荐文章于 2024-10-29 16:10:41 发布