Java基础回顾一

单一职责原则:单一功能原则(一个类应该有且只有一个引起变化的原因)

对象实例化:

Cat cat = new Cat();//把堆空间的地址存放在栈cat中

实例化对象的过程可以分为二个部分:

  1. 声明对象Cat cat:是在内存的栈空间里开辟了一个区域叫cat空间;
  2. 实例化对象new Cat():在内存的堆空间开辟一个空间,完成对象实例化操作

对象间的引用传递,实际上传递的是堆内存空间的使用权。

构造方法:

  1. 构造方法与类同名且没有返回值
  2. 只能在对象实例化时才调用

this关键字:当前对象的默认引用。

this关键字的使用:

  1. 调用成员变量时解决成员变量与局部变量同名冲突。
  2. 调用成员方法。
  3. 调用重载的构造方法。
  4. 通过this调用构造方法时,必须放在方法体的第一行。

构造方法:当有指定构造方法,无论是否有参,都不会自动添加无参构造方法。

面对对象的三大特点:继承,封装,多态。

封装:将类的某些信息隐藏在类内部,不允许外部程序直接访问;通过该类提供的方法来实现对隐藏信息的操作与访问(即隐藏对象的信息留出访问的接口)。

封装的特点:

  1. 只能通过规定的方式来访问数据
  2. 隐藏类的实现细节,方便修改和实现

static关键字:

没有静态的类和没有静态的方法内部局部变量;静态成员/类成员是类对象所共享的;

静态成员随着类加载产生,直至类销毁才回收。

静态成员访问方式:对象.成员;类.成员。

静态方法访问方式:通过类名直接调用(类名.方法名);通过类的实例对象去调用(对象名.方法名)

静态方法:

  • 可以调用同类中的静态成员
  • 不可以直接调用同类中的非静态成员
  • 可以通过实例化对象后,对象的调用的方式完成非静态成员的调用

代码块:分为普通代码块,构造代码块,静态代码块。

普通代码块:顺序执行,先出现先执行。

构造代码块:创建对象时调用,优先于构造方法执行。

静态代码块:类加载时调用,优先于构造代码块执行。

继承:只能继承一个父类,子类可以访问父类非私有成员。

方法重写:语法规则:返回类型(可以是子类类型,不一定是父类继承的方法相同),方法名,参数个数,顺序,个数都要与父类继承的方法相同。

方法重载:在同一个类中,方法名相同,参数个数,顺序,类型不同,返回值类型,访问修饰符任意。

super关键字:父类对象的引用,父类的构造方法不允许被继承,不允许被重写。

子类访问父类成员:1.父类方法:super.方法名()2.父类属性:super.属性名;

实例化顺序:1.父类静态成员  2.子类静态成员 3.父类对象构造 4.子类对象构造。

super关键字的使用:

  1. 子类构造方法默认调用父类的无参构造方法
  2. 可以用super()调用父类被允许被访问的其他构造方法
  3. super()必须放在子类构造方法的第一行
  4. 子类构造方法既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错

在构造方法中,super关键字和this关键字不能同时出现。

super关键字与this关键字:this指当前对象的引用,super指父类对象的引用

构造方法调用时,super和this不能同时出现。

Object是所有类的父类;一个类没有使用extends关键字明确标识继承关系,则默认继承Object类(包括数组)

final关键字:

  • 修饰类不能被继承,修饰的方法不能被子类重写
  • final修饰的方法可以被继承,不能修饰构造方法
  • 修饰变量不允许被修改:
    • final修饰方法内部的局部变量:在使用之前被初始化赋值即可,一旦赋值不允许修改
    • final修饰类中成员变量:只能在定义时或者构造代码块,构造方法中进行初始化设置

基本数据类型的变量初始赋值之后不能更改;引用类型的变量初始化之后不能再指向另一个对象,但指向的对象的内容是可变的

使用final修饰可以提高性能,但会降低可扩展性

注解:

元注解:对注解进行注解。

按照运行机制分:

  • 源码注解:注解只在源代码中存在,编译成.class文件就不存在
  • 编译时注解:注解在源代码和.class文件中都存在。如:@Override
  • 运行时注解:在运行阶段还起作用,甚至会影响运行逻辑的注解。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值