zoukankan      html  css  js  c++  java
  • Java 读书笔记 (八) 修饰符

    Java语言提供了很多修饰符,主要分为以下两类:

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

    访问控制修饰符

    • default (即缺省,什么也不写): 在同一包内可见,不使用任何修饰符。使用对象、类、接口、变量、方法。
    • private: 在同一类内可见。使用对象:变量、方法。注意:不能修饰类(外部类)。
    • public: 对所有类可见。使用对象:类、接口、变量、方法。
    • protected: 对同一包内的类和所有子类可见。使用对象 :变量、方法。注意:不能修饰类(外部类)。

           

    默认访问修饰符 -- 不使用任何关键字

    使用默认访问修饰符声明 的变量和方法,对同一个包内的类是可见的。接口里的变量都隐式声明为public static final,接口里的方法默认情况下访问权限为public.

    如下例,变量和方法的声明可以不使用任何修饰符.

    1 String version = "1.5.1";
    2 boolean processOrder() {
    3      return true;
    4 }

    访问控制和继承

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

    // 同一个类中不是可以用不同的修饰符吗?那声明为public的方法能不能调用声明为private的变量呢?

    非访问修饰符

    static: 用来修饰类方法和类变量。

    final: 用来修饰类、方法和变量,final修饰的类不能被继承,修饰的方法不能被继承类重新定义,修饰的变量为常量,是不可修改的。

    abstract: 用来创建抽象类和抽象方法。

    synchronized和volatile: 主要用于线程的编程。 

    final变量:  被声明为final的对象的引用不能指向不同的对象,但是final对象里的数据可以被改变。即: final对象的引用不能改变,但是里面的值可以改变。

    final修饰符通常和static修饰符一起使用来创建类常量。

  • 相关阅读:
    装饰设计模式
    Enum的基本使用
    java根据文件流判断文件类型(后缀名)
    Java正则表达式的用法
    java遍历Map
    java操作json
    struts2+ajax+jquery
    Hibernate注解
    oracle经典建表语句--scott建表
    Struts2 ui标签
  • 原文地址:https://www.cnblogs.com/cheese320/p/8086489.html
Copyright © 2011-2022 走看看