首页 > 编程语言 >【Java】非访问修饰符 final、static 、abstract

【Java】非访问修饰符 final、static 、abstract

时间:2023-05-11 17:11:42浏览次数:46  
标签:Java 变量 abstract 修饰符 static 修饰 方法 final

非访问修饰符

final修饰符

  final可以修饰类、属性和方法 <但不能用于修饰构造方法>

  private不能被子类方法覆盖,private类型的方法默认是final类型的
  final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。   Tips:final变量定义的时候,可以先声明,而不给初值,这中变量也称为final空白,无论什么情况,编译器都确保空白final在使用之前必须被初始化。   1、final修饰类中的属性,声明变量时可以不赋值,且赋值后不能修改  <final属性可以在三个地方赋值:声明时、初始化块中、构造方法中。> 2、final修饰类中的方法。可以被继承,但继承后不能被重写。 3、final修饰类。类不可以被继承,也就是不能有子类 4、static final 用来修饰成员变量和成员方法,可简单理解为“全局常量”    

static 修饰符

 static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块
1、被static修饰的成员变量和成员方法独立于该类的任何对象。它不依赖类特定的实例,被类的所有实例共享。 2、用public修饰的static成员变量和成员方法本质是全局变量和全局方法  

abstract 修饰符

abstract 只能修饰类和方法,不能修饰变量  <类到对象是实例化,对象到类是抽象>

 1、抽象类也是类,属于引用数据类型

 2、抽象类定义语法

[修饰符列表] abstract class 类名 { }

 

3、abstractb不能和final、private、static联合使用,只能单独使用abstract或者联合public abstract使用

 

 

 


 

拓展1:访问控制修饰符

 

default (即默认,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法。

private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

public : 对所有类可见。使用对象:类、接口、变量、方法

protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。 注意:不能修饰类(外部类)

 

方法继承的规则:

  • 父类中声明为 public 的方法在子类中也必须为 public。

  • 父类中声明为 protected 的方法在子类中要么声明为 protected,要么声明为 public,不能声明为 private。

  • 父类中声明为 private 的方法,不能够被子类继承。

 

   

标签:Java,变量,abstract,修饰符,static,修饰,方法,final
From: https://www.cnblogs.com/phoenixy/p/17388024.html

相关文章

  • 【Java】Java 异常处理
    1、什么是异常?将程序执行中发生的不正常情况称为“异常”2、Java程序在执行过程中所发生的异常事件可分为两类java.lang.Error:一般不编写针对性的代码进行处理java.lang.Exception:可以进行异常的处理Error:Java虚拟机无法解决的严重问题。如:JVM系统内部错误、资源耗尽等......
  • Java虚拟机运行时退出运行
    虚拟机启动直接退出运行,是因为某一个类需要加载到IOC容器里创建bean时无法加载进去,这时候需要检查一下是不是有哪些方法或者类没有写完 ......
  • Java内存模型原理,你真的理解吗?(转载)
    内存模型产生背景在介绍Java内存模型之前,我们先了解一下物理计算机中的并发问题,理解这些问题可以搞清楚内存模型产生的背景。物理机遇到的并发问题与虚拟机中的情况有不少相似之处,物理机的解决方案对虚拟机的实现有相当的参考意义。物理机的并发问题硬件的效率问题计算机处......
  • java基础语法
    JAVA基础语法注释单行注释://System.out.println("Helloworld");多行注释:/*System.out.println("Helloworld");System.out.println("Helloworld");System.out.println("Helloworld");*/文档注释:/***@Descr......
  • java 启动参数设置
    nohupjava-Xms512m-Xmx1024m-XX:PermSize=64m-XX:MaxPermSize=512m-jarxxx.jar>>xxx.out2>&1&java虚拟机对外提供的可配置堆区的参数1、-Xms:表示java虚拟机堆区内存初始内存分配的大小,通常为操作系统可用内存的1/64大小即可,但仍需按照实际情况进行分配。有可能真的按......
  • Java生成微信小程序码
    官网文档地址:获取小程序码packagetest;importcom.alibaba.fastjson.JSONObject;importcom.fasterxml.jackson.core.JsonProcessingException;importcom.fasterxml.jackson.databind.ObjectMapper;importorg.apache.http.HttpEntity;importorg.apache.http.client.met......
  • java代码中fastjson生成字符串和解析字符串的方法和javascript文件中字符串和json数组
    1.java代码中fastjson生成字符串和解析字符串的方法List<TemplateFull>templateFulls=newArrayList<TemplateFull>();JSONArrayjsonArr=newJSONArray();jsonArr.addAll(templateFulls);StringjsonStr=jsonArr.toJSONString();System.out.pr......
  • java代理模式及动态代理类
    1.     代理模式代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到的角色有:抽象角色:声明真实对象和代理对象的共同接口;代理角色:......
  • JavaWeb之Servlet本质
    Servlet:服务器和Wepapp开发者之间的协议,sun公司已经规范了Servlet协议,Wepapp开发者只需要去实现规范接口类和对应的配置文件即可,Servlet底层是面向接口编程,用反射机制实例化一个类后再向下转型成Servlet类(因为Wepapp开发者实现规范好,只需到对应的文件中调用各个方法)菜鸟教程的解......
  • Java 9模块化关键字及应用场景
    一、背景SpringBoot3.0最低要求jdk17,为跟上节奏储备知识。二、简介关键字描述应用场景module定义一个模块代码隔离,依赖控制,代码可重用性openmodule定义一个像java9之前的开放模块像Java的旧版本那样允许完全反射exports...to指定模块的一部分对外提供......