Java总结

成员变量与局部变量

位置不同

成员在堆内存中   局部在栈内存

成员的在类中方法外  局部在类中方法声明上或方法定义中

生命周期不同

初始化值不同

注:成员变量与局部变量相同,采用就近原则。

构造方法

构造方法不需要显示调用,在对象创建时直接调用(用new来调用)

构造方法无返回值,不能写void;

默认构造方法(default  constructor)

this能调用另一个构造方法【this(参1 无,参2 ,参……);】

静态 static

Static是被所有对象共享的

  Static的特点:

       a.随类的加载而加载

          回想main方法

       b.被类的所有对象共享。

           如:共用一个编号。

               饮水机(适合用静态修饰)

               水杯(不能用静态修饰)

       c.优先于对象存在。

       d.可以通过类名调用

                可以通过对象名调用

                推荐使用类名调用

                静态修饰的内容一般称为:与类相关的,类成员。

对静态而言类的任何一个对象去修改它时访问的是同一内存单元

两种格式:

      类名.静态变量名

      对象名.静态变量名

不能使用this super

静态变量独立于方法之外

多态

前提:

有继承关系;

有方法重写;

有父类引用指向子类;

父类 f = new 子类

由于成员方法存在重写,所以运行看右边。

无参构造方法父类子类先后访问(都访问)

有参的访问运行结果第一个是无参(父类构造)第二个是有参子类(含参构造)

重写方法时不能定义静态

重写(Overriding)

重写规则

  1. 参数列表:必须与被重写方法的参数列表完全匹配。 
  2. 返回类型:必须与超类中被重写的方法中声明的返回类型或子类型完全相同 
  3. 访问级别:一定不能比被重写方法强,可以比被重写方法的弱。 
  4. 非检查异常:重写方法可以抛出任何非检查的异常,无论被重写方法是否声明了该异常。 
  5. 检查异常:重写方法一定不能抛出新的检查异常,或比被重写方法声明的检查异常更广的检查异常 
  6. 不能重写标志为final,static的方法 

其中:

  1. 父类与子类之间的多态性,对父类的函数进行重新定义。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法。但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。方法重写又称方法覆盖。

  2. 若子类中的方法与父类中的某一方法具有相同的方法名、返回类型和参数表,则新方法将覆盖原有的方法。如需父类中原有的方法,可使用super关键字,该关键字引用了当前类的父类。

3. 子类函数的访问修饰权限不能少于父类的;

重写与覆盖区别

1.非静态方法,覆盖=重写,有多态

2.静态方法,是不能重写的,比如你添加@overwrite直接就报错了,我们知道静态属于类,通过类名就可以直接调用该方法,所以这里也是一样,只看引用类型,跟创建对象类型无关。

格式

【Public】 interface 接口名称 【extends父接口名列表】

{

   【Public】 【static】  【final】数据类型 常量名=常量;

          ……

   【Public】【abstract】返回值的数据类型 方法名(参数表);

          ……

【public】static 返回值数据类型 方法名(参数表){

……

}

……

【public】default返回值的数据类型 方法名(参数表){

    方法体

}

……

}

接口实现

Class 类名称implements接口名表

{

……

}

接口的继承

Interface 接口名3 extends 接口名1,接口名2……

多重继承

Interface 类名implements接口名1,接口名2……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Array_new

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值