25.JAVA面对对象之多态以及static关键字

目录

1、多态

1.1 概念

1.2 格式

1.3 好处

2、static关键字

2.1 概念

2.2 static能用来干什么?

2.3 怎么用static呢?

2.3.1 static 用于属性上面:

2.3.2 static用于成员方法上面:

2.4 注意事项

2.5 静态代码块


1、多态

1.1 概念

多态是面对对象的一个重要特征,指同一个实体同时具有多种形式,即同一个对象,在不同时刻,代表的对象不一样,指的是对象的多种形态。在java中多态可以体现在方法上,比如方法的重载,同名方法可以有不同的执行结果。多态也可以体现在面向对象中,一个对象可以使用多种类型进行表示,比如把子类对象赋给父类。

1.2 格式

父类类型   子类对象的名字=new 子类构造方法();

1.3 好处

1.多态可以让我们不用关心某个对象到底具体是什么类型,就可以使用该对象的某些方法。

2.提高了程序的可扩展性和可维护性。

2、static关键字

2.1 概念

static关键字在java中主要用来做内存管理的。被static修饰的数据在内存中只会存在一份数据。所以这个数据适合用来共享数据。

2.2 static能用来干什么?

1.用于属性的时候,它能帮助我们做数据的共享。

2.用于方法的时候,能够帮助我们更好的封装。

2.3 怎么用static呢?

2.3.1 static 用于属性上面:

直接在属性的数据类型前面加上static关键字即可

被static修饰的属性叫静态属性。

static String name;// 静态的属性name

2.3.2 static用于成员方法上面:

直接在作用域修饰符的后面加上static关键字即可

 // 被static修饰的方法称为静态方法
public  static void delete(){

 }

2.4 注意事项

1、被static修饰的方法建议由类名直接调用;

2、static修饰的方法里面不能使用this关键字;

3、被static修饰的属性或方法是随着类加载而存在;(类加载的时候,对象未必已经有了)

2.5 静态代码块

static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。例如: 

package com.frank.oop725.AM;

public class Father {
    static {
        System.out.println("我是父类中的静态代码块");
    }
    public Father(){
        System.out.println("我是父类中的构造方法");
    }
    public void f(){
        System.out.println("我是父类中的普通方法");
    }
}
package com.frank.oop725.AM;

public class Son extends  Father{
    static {
        System.out.println("我是子类中的静态代码快");
    }
    public Son() {
        System.out.println("我是子类中的构造方法");
    }
    public void s(){
        System.out.println("我是子类中的普通方法");
    }
}
package com.frank.oop725.AM;

public class Test {
    public static void main(String[] args) {
        Son son = new Son();
        son.s();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值