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修饰符一起使用来创建类常量。

  • 相关阅读:
    POJ 3041 Asteroids 最小点覆盖 == 二分图的最大匹配
    POJ 3083 Children of the Candy Corn bfs和dfs
    POJ 2049 Finding Nemo bfs 建图很难。。
    POJ 2513 Colored Sticks 字典树、并查集、欧拉通路
    POJ 1013 Counterfeit Dollar 集合上的位运算
    POJ 2965 The Pilots Brothers' refrigerator 位运算枚举
    无聊拿socket写的100以内的加法考试。。。
    POJ 1753 Flip Game
    初学socket,c语言写的简单局域网聊天
    汇编语言 复习 第十一章 标志寄存器
  • 原文地址:https://www.cnblogs.com/cheese320/p/8086489.html
Copyright © 2011-2022 走看看