美文网首页
梳理java修饰符

梳理java修饰符

作者: f155b8f6e0ac | 来源:发表于2019-12-06 18:07 被阅读0次

真的是很久不碰代码,很多基础知识的特点都忘求了~~,今天借助这篇文章,梳理一下JAVA语法中的修饰符

修饰符的分类

修饰符是用来修饰类,方法,变量的,通常是放在语句的最前端。修饰符分为两类:

  • 访问修饰符
  • 非访问修饰符

访问修饰符

JAVA中支持 4 类不同的访问权限,以此来保护类,变量,方法和构造方法的访问。

  1. default:在同一个包内可见。使用对象:类,方法,变量,接口。
  2. private:只在同一个类内可见。使用对象:方法,变量。注意:不能修饰类和接口
  3. public:对所有类都可见。使用对象:类,方法,变量,接口。
  4. protected:在同一个包内的类以及所有子类可见。使用对象:变量,方法。注意:不能修饰类
私有访问修饰符——private
  • private是最严格的访问级别,被声明为private的方法,变量和构造方法只能被所属类访问。并且类和接口是不能声明为private。
  • 声明为private的变量只能通过类中公共的getter和setter的方法进行访问。
公有访问修饰符——public

被声明为public的类,方法,变量和接口能够被所有的类访问

受保护的访问修饰符——protected

protected可以修饰变量,方法。不能修饰类,同时接口和接口的成员变量都不可以声明为protected
声明为protected的变量和方法,只能被同一个包中的类或者从基类继承而来的protected方法访问。

Class A {
    protected boolean open(string str){
        //实现细节
    }
}

Class B extends A {
    protected boolean open(String str){
        //实现细节
    }
}

如果把 open() 方法声明为 private,那么除了 A 之外的类将不能访问该方法。
如果把 open() 声明为 public,那么所有的类都能够访问该方法。
如果我们只想让该方法对其所在类的子类可见,则将该方法声明为 protected。

访问控制和继承

继承的规则:(遵循的是子类的权限不能小于父类权限)

  • 父类中声明为public的方法,则子类必须声明为public
  • 父类中声明为protected的方法,则子类要么声明为protected,要么声明为public。
  • 父类中声明为private的方法,不能够被继承

非访问修饰符

JAVA中常见的非访问类修饰符有如下几种:

  1. static:用来修饰静态方法和静态变量。
  2. abstract:用来创建抽象类和抽象方法
  3. final:用来修饰类,方法和变量的。
  4. synchronized和volatile:用于线程的编程
static修饰符

主要用来修饰静态变量和静态方法的。注意一点:静态方法中必须要使用静态变量

abstarct修饰符

主要用来创建抽象类和抽象方法

抽象类
  • 抽象类是不能够用来实例化对象的,声明抽象类的目的就是用来方便对类进行扩展
  • 一个类不能同时被abstract和final修饰。
  • 如果一个类包含抽象方法,那么这个类一定要声明为抽象类
  • 抽象类可以包含抽象方法和非抽象方法
abstract class Caravan{
   private double price;
   private String model;
   private String year;
   public abstract void goFast(); //抽象方法
   public void changeColor();
}
抽象方法
  • 抽象方法是一种没有任何实现的方法,该方法的实现都是由子类去实现。
  • 抽象方法不能同时声明为abstract和final
  • 任何继承抽象类的子类必须实现父类的所有抽象方法,除非子类也是抽象类
  • 任何一个类包含若干个抽象类的方法,那么该类必须声明为抽象类。抽象类可以不包含抽象方法
public abstract class SuperClass(){
    abstract void m(){};   //抽象方法
}

public SubClass extends SuperClass(){
    void m(){};   //实现抽象方法
}
final修饰符

final顾名思义就是“最终”的意思,所以被他修饰的类、变量、方法都是不能修改的

final变量
  • final 修饰符通常和 static 修饰符一起使用来创建类常量
final方法
  • 父类中的final方法可以被子类继承,但是不能被重写;
final类
  • final类是不能被继承的

相关文章

  • 梳理java修饰符

    真的是很久不碰代码,很多基础知识的特点都忘求了~~,今天借助这篇文章,梳理一下JAVA语法中的修饰符 修饰符的分类...

  • java学习笔记第二天

    java修饰符 java修饰符 java语言提供了很多修饰符,主要分为下面两类: 1.访问修饰符 2.非访问修饰符...

  • Java 修饰符

    Java 修饰符 Java语言提供了很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符 修饰符用来定义类、方...

  • 日常记忆Java修饰符

    Java修饰符 Java语言提供的很多修饰符,主要分为以下两类: 访问修饰符 非访问修饰符修饰符用来定义类、方法或...

  • Java知识之修饰符

    Java中的修饰符 Java中的修饰符主要分为两类: 访问控制修饰符 非访问控制修饰符 访问控制修饰符分: pub...

  • java修饰符有哪些?

    java修饰符有哪些? Java语言提供了很多修饰符,主要分为以下两类: 1、访问修饰符; 2、非访问修饰符。 (...

  • Java中访问修饰符和构造函数的一点总结

    Java访问修饰符 Java用于类的修饰符(2个)和限定符(2个) 注意:内部类可以拥有更多的访问修饰符 Java...

  • java基础-static

    概述 static 在java体系里的地位:java语言的一个修饰符,属于非访问修饰符,所谓访问修饰符就是控制访问...

  • 关于Java语言中那些修饰符

    一.在java中提供的一些修饰符,这些修饰符可以修饰类、变量和方法,在java中常见的修饰符有:abstract(...

  • java的访问修饰符

    一. Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口。Java语言采用访问控制修饰符...

网友评论

      本文标题:梳理java修饰符

      本文链接:https://www.haomeiwen.com/subject/cyiegctx.html