static关键字和代码块

static关键字:

特点:

static随着类的加载而加载

优先于对象存在

被类的所有对象共享

可以通过类名调用也可根据对象调用,推荐使用类调用。

注意事项:

在静态方法中没有this关键。

静态方法只能访问静态的成员变量和静态的成员方法。

静态方法:

​ 成员变量:只能访问静态变量。

​ 成员方法:只能访问静态成员方法。

非静态方法:

​ 成员变量:可以是静态的,也可以是非静态的

​ 成员方法:可以是非静态的成员方法,也可以非静态的成员方法。

静态变量和成员变量的区别:

​ 静态变量属于类,所以称为类变量

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

内存中的位置不同

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

​ 成员变量存储于堆内存

内存出现的时间不一样

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

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

调用不同

​ 静态变量可以通过类名调用,也可通过对象调用。

​ 成员变量只能通过对象名调用。

代码块:

局部代码块

​ 在java中,使用{}括起来的代码被称为代码块,根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块

局部代码块

​ 在方法中出现,限定变量的生命周期,及早释放,提高内存利用率。

构造代码块

​ 在类中方法外出现 ,多个构造方法方法中相同的代码存放到一起,每次调用构造器都执行,并且在构造方法前执行。

静态代码块 在类中方法外出现,加static修饰

在类中方法外出现,加了static修饰,用于给类经行初始化,在加载的时候就执行,并且只执行一次。

继承:

继承概述

多个类中存在相同的属性和行为时,将这些内容抽取到单独的一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。

通过extends关键字可以实现实现类与类的继承

class 子类名 extends 父类名 {}

单独的这个类称为父类,基类或者超类;这多个类可以称为子类或者派生类。

有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自己的新成员。

public class StudentDemo3 {
    public  void  eat(){

        System.out.println("吃了吗?");
        System.out.println("睡了吗?");
    }
}
public class StudentDemo4 extends StudentDemo3 {

}
public class StudentTest3 {
public  static  void main (String [] args){
    StudentDemo4 studentDemo4 = new StudentDemo4();
    studentDemo4.eat();
}

}

好处:

提高了代码的复用性

提高了代码的维护性

让类与类之间产生了关系,是多态的前提。

类与类产生了关系,也是继承的一个弊端:

类的耦合性增强了。

开发的原则,低耦合,高内聚。

耦合:类与类的关系

内聚:就是自己完成某件事情的能力。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值