Java中的其他修饰符

abstract - 抽象的

  1、修饰类 - 抽象类,如果一个类是抽象的,那么这个类不能被实例化,只能被继承,所以抽象类一般都是父类;

  2、修饰方法 - 抽象方法,如果一个方法是抽象的,那么这个方法不能有实现,含有抽象方法的类一定是抽象类, 但抽象类不一定包含抽象方法;

    - 如果一个非抽象类继承了一个抽象类,则这个非抽象的子类必须实现父类中定义的所有抽象方法,除非这个子类也是抽象的;

    - 如果一个类中有一个抽象方法,那么这个类一定为一个抽象类。 反之,如果一个类为抽象类,那么其中可能有非抽象的方法。

    - 如果让一个非抽象类继承一个含抽象方法的抽象类,则编译时会发生错误。因为当一个非抽象类继承一个抽象方法的时候,本着只有一个类中有一个抽象方法,那么这个类必须为抽象类的原则。这个类必须为抽象类,这与此类为非抽象冲突,所以报错。

    所以子类的方法必须覆盖父类的抽象方法。方法才能够起作用。
    只有将理论被熟练运用在实际的程序设计的过程中之后,才能说理论被完全掌握!

    为了实现多态,那么父类必须有定义。而父类并不实现,留给子类去实现。此时可将父类定义成abstract类。如果没有定义抽象的父类,那么编译会出现错误。  
    Abstract和static不能放在一起,否则便会出现错误。(这是因为static不可被覆盖,而abstract为了生效必须被覆盖。)

static - 静态

  1、修饰属性 - 静态属性,可以用类名引用,而不必用对象来引用,所以静态属性是归类所有的,而不属于某一个具体的对象, 实际上,它是被该类的所有对象所共享;

   - 静态属性又叫做类属性 ,非静态属性又叫做对象属性;

  - 一般情况下,我们都是用类名来引用静态属性,而不用对象来引用;

  2、修饰方法 - 静态方法,可以用类名直接调用,不需要用对象,一般称之为类方法;

  - 静态方法中不能引用类中的非静态成员;

    思考:main方法为什么必须是静态方法?

  3、静态块 - 静态块中的代码是在类型信息加载到方法区后立即被执行的,作用是给静态属性进行初始化的;

  - 静态块中不能引用非静态成员;

    问题 - 单例模式(至多只能被实例化一次) - > 用静态来解决的一个经典问题; com.FirstJava.singleton

      1、如何阻止用户用new关键字任意生成该类的对象 -> 私有的构造方法;

      2、如何让用户得到对象 -> 给用户提供一个方法,用这个方法给用户返回该类对象;

      3、如何保证对象的唯一性 -> 使用静态属性;

final - 最终的

  1、修饰类 - 最终的类,该类不能被继承(目的是这个类不能被扩展,也就是不能被改变);

  2、修饰方法 - 最终的方法,该方法不能被子类重写;

  3、修饰属性 - 称之为常量,常量的命名要求所有字母均大写,其值不能被改变,必须有初始化;

  4、修饰局部变量 - final的局部变量只能被赋值一次;

    内部类 - 在一个类中定义另一个类

      1、内部类是外部类的一个成员,所以所有能够修饰成员的关键字都能够修饰内部类,甚至可以是静态的;

      2、内部类对象可以访问其外部类中的所有成员,包括私有的;

问题 - 迭代器模式 - 集合类

时间: 2024-08-28 05:41:21

Java中的其他修饰符的相关文章

(转) java中的访问修饰符

对Java中的修饰符一直记不住,现在结合网上的一些资料进行总结,并重点说明一下protected修饰符. 一. Java中的访问修饰符 Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节.访问控制分为四种级别: (1)public: 用public修饰的类.类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问: (2)protected: 用protected修饰的类.类属变量及

详解Java中的访问控制修饰符(public, protected, default, private)

Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获.如果文章中出现错误,欢迎评论指出,共同交流~ 说在前面:这篇文章只研究Java中访问控制修饰符声明类的变量/方法的情况. 先抛出结论: * 成员变量/方法的访问权限 *                                        private        default  

Java中的类修饰符

资料主要来源于网络(http://60.28.60.3/zy/java-new/zhishidian/chap3/3.htm) 之前每次写小测试程序的时候,总是把一个类放在一个Java文件中,按理说这样比较规范,可主要原因是我是在不知道怎么在一个文件里放多个类,可见java基础有多差了...只要把类的属性改成默认的就可以了,也就是前面什么控制符都不加,采用默认的方式. Java语言程序设计中,定义类时除了要使用class 关键字说明所定义的数据类型是类,还可以在 class 之前增加若干类的修饰

java中4种修饰符访问权限的区别及详解全过程

java中4种修饰符访问权限的区别及详解全过程 http://jingyan.baidu.com/article/fedf0737700b3335ac8977ca.html java中4中修饰符分别为public.protect.default.private,他们这就说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高. 下面详细讲述下它们的访问权限问题.(同一个类中除内部类外所有修饰符都是可以访问的,所以下面排除这种情况.) 首先在这里把它们的访问权限表示出来:

java 中的 final修饰符

修饰符final:是常量,不允许改变 ,可以修饰 变量,方法 ,类 final修饰变量:被final修饰的变量就会变成常量,一旦赋值不能改变 常量可以在初始化时直接赋值,也可以在构造方法里赋值,只能在这两种方法里二选一,不能不为常量赋值 常量不会有默认初始值 锁定栈,使栈中的数据不可以改变 静态常量只能在初始化时直接赋值 final修饰方法:被final修饰的方法将不能被其子类覆盖,保持方法的稳定不能被覆盖 final修饰类:被final修饰的类将不能被继承          final类中的方

java中的类修饰符、成员变量修饰符、方法修饰符。

类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final,将一个类生命为最终(即非继承类),表示他不能被其他类继承. friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类. 成员变量修饰符: public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问. private(私有访问控制符)指定该变量只允许自己的类的方法

java面向对象学习之——java中的类修饰符、成员变量修饰符、方法修饰符

类修饰符: public(访问控制符)-->将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类.abstract-->将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现.final-->将一个类生命为最终(即非继承类),表示他不能被其他类继承.friendly-->默认的修饰符,只有在相同包中的对象才能使用这样的类. 成员变量修饰符: public(公共访问控制符)-->指定该变量为公共的,他可以被任何对象的方法访问.private(私有访问控制符

Java中的访问修饰符详细解析

1.类的修饰符分为:可访问控制符和非访问控制符两种. 可访问控制符是:公共类修饰符 public 非访问控制符有:抽象类修饰符 abstract :最终类修饰符 final 1 )公共类修饰符 public : Java 语言中类的可访问控制符只有一个: public 即公共的.每个 Java 程序的主类都必须是 public 类作为公共工具供其它类和程序使用的应定义为 public 类. 2 )抽象类修饰符 abstract :凡是用 abstract 修饰符修饰的类,被称为抽象类.所谓抽象类

java中class的修饰符

class只有两种修饰符,即默认值(没有访问修饰符)和public: 1.默认值,对应的访问权限为包访问权限,代表只有该包中的其他类才可以访问此java类,其他包中无法访问该类(无法import该类,无法new其对象): 2.public,此修饰符修饰的java类可以被本包或其他包中的任意类访问. 注:访问修饰符private.protected仅能修饰类中成员方法或成员变量.

JAVA中的访问修饰符和包

一.JAVA访问修饰符 访问修饰符,用来控制类中成员的可见性 有四个访问修饰符,分别是:default,private,public,protected 1.default(默认):默认时不需要写修饰符的.只能在同一包内访问. 2.private(私有):只能在同一类中访问. 3.public(公有):在任何地方都可以访问 4.protected(受保护的):类的继承中使用 二.包package 在大型项目中,往往会有几十甚至几百个类,如果不对类进行分类管理,后期进行维护时会有很大的不便. 所以