面向对象二

静态

静态代码块

①如果一一个类中有多个静态代码块,则会按照书写的顺序执行。

②静态代码块不能出现在任何方法之中。

③静态代码块中只能出现静态变量,而不能有实例变量。

静态代码块,构造代码块,构造方法的执行顺序:静态代码块>构造代码块>构造方法

例:

public class Demo1

{  int x=100;

   public static void main(String[] args) { //x=200; //静态方法,只能处理静态变量

   People p1-new People(); //此时 的People()是JVM自动提供的

   p1. show();

   People p2=new People("刘备");

   p2. show();

   People p3=new Peple(“'关羽","男");

   p3. show();
}

}
①所属不同
静态变量属于类 ,所以也称为变量

成员变量属于对象,所以也称为实例变量(对象变量)

②内存中位置不同

静态变量存储于方法区的静态区

成员变量存储于堆内存

③内存出现时间不同

静态变量随着类的加载而加载,随着类的消失而消失

成员变量随着对象的创建而存在,随着对象的消失而消失

④调用不同

静态变量可以通过类名调用,也可以通过对象调用成员变量只能通过对象名调用
 

覆盖

概念:子类中有与父类同名的成员变量和成员方法。

变量的覆盖--- >变量的隐藏,方法的覆盖--->方法重写(override)

注意:子类重写的方法,与父类相比,有相同的访问权限、相同的方法名、相同的参数。

            访问权限要>=父类 方法的访问权限

super与this的使用

super关键字

1)使用场景:在子类中使用

2)调用父类的成员(成员变量、成员方法):super. XXX或super.XXX()

3)调用父类的构造方法:super( [参数列表] ) ;

this关键字

1)使用场景:在本类中使用

2)调用自身的成员(成员变量、成员方法):this.XXX或this. XXX()

3)调用本类的构造方法:this( [参数列表] );

接口

关键字:interface

格式:public interface Demo{  声明变量

                                                  抽象方法}

①接口不能实例化

②接口由全局变量和抽象方法组成

③接口声明变量是常量

④实现接口的所有抽象方法

⑤接口声明的对象,表示其实现类对象
⑥父类声明的对象,表示其子类对象

例:

public static void main(String[] args) {

Teacher tea=new Teacher();

Student stu=new Student();

tea.number=32+Icomputable.Max;

stu.number=16+Icomputable.Max;

}

⑦通过extends来继承父接口,类通过implements实现接口;

抽象类和抽象方法的联系:

1)如果类中有抽象方法,则此类必须是抽象类;

2)如果是抽象类,可以有抽象方法;也可以没有抽象方法。

3)抽象类不能创建对象。

——必须有个子类继承抽象类

————继承抽象类的子类,必须重写父类中的抽象方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

A 樘戍

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

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

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

打赏作者

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

抵扣说明:

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

余额充值