Java中的Static修饰符】的更多相关文章

static(静态.修饰符):static修饰成员变量时:static修饰成员变量时,那么该成员变量的数据就是一个共享的数据. 静态成员变量的访问方式:方式一: 使用对象进行访问. 对象.属性名 方式二:可以使用类名进行访问. 类名.属性名 注意: 1. 非静态成员变量不能类名直接访问,只能使用对象进行访问. 2. 千万不要为了方便访问成员变量而使用static修饰,一定要是该数据是共享数据 时才使用static修饰. static修饰方法(静态的成员方法):访问方式:方式一:可以使用对象进行访…
Java中的访问控制修饰符已经困惑笔者多时,其中较复杂的情况一直不能理解透彻.今天下定决心,系统.全面地研究Java中的访问控制修饰符的所有方面,并整理成这篇文章,希望有同样疑惑的读者读完后能有所收获.如果文章中出现错误,欢迎评论指出,共同交流~ 说在前面:这篇文章只研究Java中访问控制修饰符声明类的变量/方法的情况. 先抛出结论: * 成员变量/方法的访问权限 *                                        private        default  …
Java中的访问控制修饰符 一:Java修饰符的种类: 访问修饰符 非访问修饰符 修饰符用来定义类.方法或者变量,通常放在语句的最前端.我们通过下面的例子来说明: public class HelloWorld { // ... } private boolean myFlag; static final double weeks = 9.5; protected static final int BOXWIDTH = 42; public static void main(String[] a…
1):Java中的访问修饰符: Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节. 访问控制分为四种级别: 1):public: 用public修饰的类.类属变量及方法,包内及包外的任何类(包括子类和普通类)均可以访问: 2):protected: 用protected修饰的类.类属变量及方法,包内的任何类及包外那些继承了该类的子类才能访问(此处稍后解释),protected重点突出继承:…
java中4种修饰符访问权限的区别及详解全过程 http://jingyan.baidu.com/article/fedf0737700b3335ac8977ca.html java中4中修饰符分别为public.protect.default.private,他们这就说明了面向对象的封装性,所以我们要适用他们尽可能的让权限降到最低,从而安全性提高. 下面详细讲述下它们的访问权限问题.(同一个类中除内部类外所有修饰符都是可以访问的,所以下面排除这种情况.) 首先在这里把它们的访问权限表示出来:…
注:本博文是转载的,原文地址:http://blog.csdn.net/xk632172748/article/details/51755438 Java中修饰符总结: 访问控制修饰符 访问控制修饰符 作用: 用于控制被修饰变量.方法.类的可见范围. public的访问级别是最高的,其次是protected.默认和private. 成员变量和成员方法可以处于4个访问级别中的一个:公开.受保护.默认或私有. 存在继承关系时,父类不可以是private,因为子类无法继承 顶层类可以处于公开或默认级别…
类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final,将一个类生命为最终(即非继承类),表示他不能被其他类继承. friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类. 成员变量修饰符: public(公共访问控制符),指定该变量为公共的,他可以被任何对象的方法访问. private(私有访问控制符)指定该变量只允许自己的类的方法…
主要讲述一下java中protected的修饰控制范围. 在叙述protected修饰符使用之前,先来说一下java,可以发现,开发java程序是一个时时刻刻都在编写类.开发类.定义类的过程.类里面可以有main方法.(main方法不管存在那个类中,都要通过打点的方式调用某个类的成员) 在当前类的定义中,main方法之外,可以直接通过成员的名字来使用本类中的成员变量,不管这个成员是什么访问修饰符修饰的,也不用通过对象打点调用的方式进行,当前类的main方法中,可以通过对象打点的方式调用.所以说访…
一.JAVA访问修饰符 访问修饰符,用来控制类中成员的可见性 有四个访问修饰符,分别是:default,private,public,protected 1.default(默认):默认权限,不用写的.在同一包内访问. 2.private(私有):只能在同一类中访问. 3.public(公有):在任何地方都可以访问 4.protected(受保护的):子父类(即使子父类不在同一包)和本包中可访问. public > protected > default > private 二.包pac…
java中的修饰符分类: 权限修饰符: private, default, protected, public 状态修饰符: static, final 抽象修饰符: abstract 权限修饰符 我们来看看四种权限修饰符的权限大小 (注意:没有default这个关键字,它就是代表默认的意思,即什么修饰符也不加) 一般,默认的可见性就是包可见性(package visibility) 1. public修饰符 具有最大的访问权限,可以访问任何一个CLASSPATH下的类,接口.异常等.它往往对于…
首先了解概念: 在java中有四种权限修饰符:范围从大到小分别是:public.protect.default(friendly).private,它们之间的区别是: public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”.被其修饰的类.属性以及方法不仅可以跨类访问,而且允许跨包(package)访问. protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”.被其修饰的类.属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中…
Java有四种访问权限,其中三种有访问权限修饰符,分别为private,public和protected,还有一种不带任何修饰符.其中package代表缺省的访问权限,具体到代码中就是不写任何修饰符的默认情况.为了好表示为暂且命名为package.   public  protected private   package           顶层代码资源的访问控制 对于文件级别(top-level) 的  class,interface,enum来说,有2种访问修饰符:public 和 默认的…
1.什么时候可以选择final修饰符 如果想让一个类不被其他类继承,不允许在有子类,这时候就要考虑用到final来修饰. 2.用final修饰的类 首先大家要明白,用final修饰的类是不能被继承的,下面来看一个错误案例. eg: final class Penguin { } class SubPenguin extends Penguin { } 此时这段代码的class SubPenguin extends Penguin这行代码会报错: The type SubPenguin canno…
先看一道题 public class HasStatic{ private static int x=100; public static void main(String args[]){ HasStatic hs1=new HasStatic(); hs1.x++; HasStatic hs2=new HasStatic(); hs2.x++; hs1=new HasStatic(); hs1.x++; HasStatic.x--; System.out.println("x="+…
What:访问控制权限是可以设置代码的访问范围. Where:访问权限既可以修饰类中的属性,又可以修饰类中的方法,而public和default还可以修饰类. 在同一个java文件里,公有类有且仅有一个,并且该文件命名为“类名.java”. Why:使用访问修饰符可以更好地管理类.属性.方法,为他们设置更加合理的和安全的访问权限. 访问位置 访问控制权限 private default(默认) protected public 本类 可见 可见 可见 可见 包内其他类或子类 不可见 可见 可见…
访问修饰符: private 缺省 protected public 作用范围: 访问修饰符\作用范围 所在类 同一包内其他类 其他包内子类 其他包内非子类 private 可以访问 不可以 不可以 不可以 缺省 可以 可以 不可以 不可以 protected 可以 可以 可以 不可以 public 可以 可以 可以 可以 private 被private修饰的属性和方法,不能被其他类访问,子类不能继承也不能访问.只能在所在类内部访问. 缺省 变量或者方法前没有访问修饰符时,可以被所在类访问,可…
一.final final是不变的,最终的意思.可以用来修饰变量,方法,类. 1. 修饰变量 private final int a = 2; private final int b; // final 空白,必须在构造函数中指定初始值. // 因为static 的缘故,必须在定义时指定初始值,不能在构造函数中指定初始值. // 因为访问static 变量根本不用调用构造函数啊,笨蛋! private static final int c = 3; 2. 修饰方法 表示该方法不能被子类重写.使用…
1.类的权限修饰符default(不写权限修饰符),public 说明:类的权限修饰符只有default(不写权限修饰符)和public.   package world default Y N public Y Y 注意事项:(default)并不是关键字“default”,而是根本不写. 2.成员变量的权限修饰符private,default(不写权限修饰符),protected,public   class package subclass world private Y N N N de…
资料主要来源于网络(http://60.28.60.3/zy/java-new/zhishidian/chap3/3.htm) 之前每次写小测试程序的时候,总是把一个类放在一个Java文件中,按理说这样比较规范,可主要原因是我是在不知道怎么在一个文件里放多个类,可见java基础有多差了...只要把类的属性改成默认的就可以了,也就是前面什么控制符都不加,采用默认的方式. Java语言程序设计中,定义类时除了要使用class 关键字说明所定义的数据类型是类,还可以在 class 之前增加若干类的修饰…
可以重写静态方法,但重写后的静态方法不支持多态. 其实static根本就没有重写之说.static方法引用的时候应该用类名来引用,而不是对象.同时static方法不参与继承,所以在继承体系里面也不存在重载的说法. 不能被重写,例子: class A{ public static void a(){ System.out.println("a"); } } class B extends A{ public static void a(){ System.out.println(&quo…
类修饰符:  public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. final,将一个类生命为最终(即非继承类),表示他不能被其他类继承. friendly,默认的修饰符,只有在相同包中的对象才能使用这样的类. 成员变量 和 方法的访问权限…
较之c++ 中 public,proctected, private 三种訪问控制, java多了默认訪问控制. java中四种訪问控制权限 简单描写叙述为一下四句: 1)private 仅本类可见 (同c++) 2)默认 对本包可见/包内訪问 (c++没有) 3)protected 对本包和全部子类可见 (c++中没有本包概念.较 默认訪问 能够被在其它包下的子类訪问) 4)public 对全部类可见 (同c++) 当中1)4)与c++同样,对2)3)做简单測试 3)protected 对本包…
几个传统的修饰符: public 该类的子类,以及同包,或者其他情况下可以访问该修饰符修饰的方法/变量 protacted 只有同包,子类,该类本身可以访问 private 只有该类自身能访问 无修饰符: 如果子类处于同一包,可以访问,类似protected,如果子类与父类处于不同包,就不能访问…
访问级别                 修饰符                    同类                    同包              子类                 不同包 公开                        public                     可以访问           可以访问        可以访问        可以访问 受保护的                protected                可以访…
一. public:所有类都可以访问 protected:所有子类和同包下的类都可以访问 缺省:同包类都可以访问 private:类本身才可以访问 注意点:protected修饰类属性时,例如 package Parent; public class Parent{ protected int i=5; } package Son; public class Son extends Parent{ public static void main(String[] args){ Parent p=…
1.static 在程序中任何变量或者代码都是在编译时由系统自动分配内存来存储的,而所谓静态就是指在编译后所分配的内存会一直存在,直到程序退出内存才会释放这个空间,也就是只要程序在运行,那么这块内存就会一直存在.这样做有什么意义呢? 在Java程序里面,所有的东西都是对象,而对象的抽象就是类,对于一个类而言,如果要使用他的成员,那么普通情况下必须先实例化对象后,通过对象的引用才能够访问这些成员,但是有种情况例外,就是该成员是用static声明的(在这里所讲排除了类的访问控制). static 是…
程序功能:通过两个类 StaticDemo.LX4_1 说明静态变量/方法与实例变量/方法的区别. package Pack1; public class Try { public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("静态变量x="+StaticDemo.getX()); ////非法,编译将出错 //System.out.println(&qu…
public:本类中可见,同包中可见,子类中可见,其他包中可见. protected:本类中可见,同包中可见,子类中可见,其他包不可见. 默认:本类中可见,同包中可见,子类不可见,其他包不可见. private:本类中可见,同包不可见,子类不可见,其他包不可见.…
权限如下: no. 范围 private default protected public 1 同一包下的同一个类 √ √ √ √ 2 同一包下的不同类 × √ √ √ 3 不同包下的子类 × × √ √ 4 不同包下的非子类 × × × √…
访问权限 类 本包 子类 其他包 public √ √ √ √ protected √ √ √ x default(缺省) √ √ x x private √ x x x…