java知识点拾遗(面向对象)

  1. 继承
  • 父类也称作超类,基类,派生类等。
  • Java中只有单继承。
  • Java中类没有多继承,接口有多继承。
  • 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如父类私有的属性和方法)。
  • 如果定义一个类时没有使用extends,则它的父类是 java.lang.Object。
    在eclipse中使用Ctrl + T可以展示类继承树。或者快捷菜单:

    F4可以展示类的方法和属性。
  1. override
  • “==”:方法名和形参列表相同。
  • “≤”:返回值类型和声明异常类型,子类小于等于父类。
  • “≥”:访问权限,子类大于等于父类。
  1. super
    super是对直接父类对象的引用,可以通过super来访问父类中被子类覆盖前的方法和属性。

  2. 继承树追溯

属性/方法查找顺序:(以属性h为例)

  • 查找当前类中有没有属性h。
  • 依次上溯每个父类,查看每个父类中是否有h,直到Object。
  • 如果没找到,则出现编译错误。
  • 上面步骤,只要找到变量,则这个过程终止。

构造方法调用顺序:

  • 构造方法第一句总是super(…)来调用父类对应的构造方法。所以,流程是先向上追溯到Object,然后再依次向下执行类的静态初始化块和构造方法,直到当前子类为止。
  • 构造方法的第一句 super(); 可以不写,如果不写系统也会自动加上。
  1. 封装
修饰符同一个类同一个包子类所有类
private
default
protected
public
  1. 多态
  • 多态是方法的多态,不是属性的多态(多态与属性无关)。
  • 多态的存在要有三个必要条件:继承,方法重写,父类引用指向子类对象。
  • 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。
  1. 转型(casting)
  • 自动向上转型
  • 强制向下转型
  1. final
  • 修饰变量:只能被赋值一次值(变成常量)。
  • 修饰方法:不能被子类重写(但可以重载)。
  • 修饰类:修饰的类不能被继承。
  1. 数组
  • 声明
int[] arr=new int[10];
int[][] arr2=new int[10][];

多维数组声明:

  • 初始化
静态初始化
int[] a1={1,2,3,4};
User[] a2={new User(1,"张三"),new User(2,"李四"),new User(3,"王五")};

int[][] a3=new int[3][]
//嵌套定义
a3[0]=new int[]{20,22};
a3[1]=new int[]{12,17,29};
a3[2]=new int[]{87,18};

int[][] a4={
	{18,16,2},
	{76,88},
	{76,29,38,66}
};

默认初始化
int[] a3=new int[3]; //数组元素给出默认值(和类的成员变量赋初值的规则一样)
//数字:0
//boolean:false
//对象:null

动态初始化
//通过下标挨个赋值
a4[0]=1;
a4[1]=2;
a4[2]=3;
  1. this关键字
  • 在程序中用于解决二义性。普通方法中this总是指向调用该方法的对象。构造方法中this总是指向正要初始化的对象。
  • this作为非静态方法的隐含参数被传递。
  • this仅能在构造方法中调用其他重载的构造方法,且只能位于构造方法的第一句。
  • this不能用于static方法。
  1. 组合
    组合的核心就是 将父类对象作为子类的属性,子类通过调用这个属性来获得父类的方法及属性。一般has-a关系使用组合,而is-a关系使用继承。

  2. 数组拷贝
    System.arraycopy(object src, int srcpos, object dest, int length)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值