关键字:static final 抽象类与抽象方法 原创

2263-王同学

发表文章数:17

首页 » Java » 正文

关键字:static

类属性、类方法的设计思想

  • 类属性作为该类各个对象之间共享的变量。在设计类时,分析哪 些属性不因对象的不同而改变,将这些属性设置为类属性。相应 的方法设置为类方法。

  • 如果方法与调用者无关,则这样的方法通常被声明为类方法,由 于不需要创建对象就可以调用类方法,从而简化了方法的调用。

使用范围:

  • 在Java类中,可用static修饰属性、方法、代码块、内部类
  • 被修饰后的成员具备以下特点:
  • 随着类的加载而加载
  • 优先于对象存在
  • 修饰的成员,被所有对象所共享
  • 访问权限允许时,可不创建对象,直接被类调用

类变量(class Variable)

  • 类变量(类属性)由该类的所有实例共享

类方法(class method)

  • 没有对象的实例时,可以用类名.方法名()的形式访问由static修饰的类方法。

  • 在static方法内部只能访问类的static修饰的属性或方法,不能访问类的非static的结构。

  • 因为不需要实例就可以访问static方法,因此static方法内部不能有this。(也 不能有super ? YES!)

  • static修饰的方法不能被重写
    关键字:static final 抽象类与抽象方法                    原创

单例(Singleton)设计模式-饿汉式

关键字:static final 抽象类与抽象方法                    原创
关键字:static final 抽象类与抽象方法                    原创

单例模式的优点:

  • 由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的 产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可
    以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方 式来解决。

理解main方法的语法

  • 由于Java虚拟机需要调用类的main()方法,所以该方法的访问权限必须是
    public,又因为Java虚拟机在执行main()方法时不必创建对象,所以该方法必须
    是static的,该方法接收一个String类型的数组参数,该数组中保存执行Java命令 时传递给所运行的类的参数。

  • 又因为main() 方法是静态的,我们不能直接访问该类中的非静态成员,必须创
    建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情 况,我们在之前的例子中多次碰到

代码块

关键字:static final 抽象类与抽象方法                    原创

静态代码块:用static 修饰的代码块

  1. 可以有输出语句。
  2. 可以对类的属性、类的声明进行初始化操作。
  3. 不可以对非静态的属性初始化。即:不可以调用非静态的属性和方法。
  4. 若有多个静态的代码块,那么按照从上到下的顺序依次执行。
  5. 静态代码块的执行要先于非静态代码块。
  6. 静态代码块随着类的加载而加载,且只执行一次。

非静态代码块:没有static修饰的代码块

  1. 可以有输出语句。
  2. 可以对类的属性、类的声明进行初始化操作。
  3. 除了调用非静态的结构外,还可以调用静态的变量或方法。
  4. 若有多个非静态的代码块,那么按照从上到下的顺序依次执行。
  5. 每次创建对象的时候,都会执行一次。且先于构造器执行

关键字:static final 抽象类与抽象方法                    原创

关键字:final

关键字:static final 抽象类与抽象方法                    原创

抽象类与抽象方法

随着继承层次中一个个新子类的定义,类变得越来越具体,而父类则更一
般,更通用。类的设计应该保证父类和子类能够共享特征。有时将一个父
类设计得非常抽象,以至于它没有具体的实例,这样的类叫做抽象类
用abstract关键字来修饰一个类,这个类叫做抽象类。 
  • 用abstract来修饰一个方法,该方法叫做抽象方法。

  • 抽象方法:只有方法的声明,没有方法的实现。以分号结束: 比如:public abstract void talk();

  • 含有抽象方法的类必须被声明为抽象类。

  • 抽象类不能被实例化。抽象类是用来被继承的,抽象类的子类必须重 写父类的抽象方法,并提供方法体。若没有重写全部的抽象方法,仍 为抽象类。

  • 不能用abstract修饰变量、代码块、构造器;

  • 不能用abstract修饰私有方法、静态方法、final的方法、final的类。

未经允许不得转载:作者:2263-王同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《关键字:static final 抽象类与抽象方法 原创》 发布于2021-10-11

分享到:
赞(1) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录