当前位置:编程学习 > JAVA >>

static 和 private是什么意义

我刚学习Java,经常看到static 和private的声明,请问这两个关键字有何意义? --------------------编程问答-------------------- static : 静态,可以定义静态变量,静态代码块 等等
private : 定义私有变量,方法等等 --------------------编程问答-------------------- java语言中有四种不同的限定词,提供了四种不同的访问权限。

  1) private 
  类中限定为private的成员,只能被这个类本身访问。
  如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。

  2) default
  类中不加任何访问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。

  3) protected
  类中限定为protected的成员,可以被这个类本身、它的子类(包括同一个包中以及不同包中的子类)和同一个包中的所有其他的类访问。

  4) public
  类中限定为public的成员,可以被所有的类访问。


用static 关键字可以声明类变量和类方法,其格式如下:
  static type classVar;
  static returnType classMethod({paramlist}) {
  …
  }
 
  如果在声明时不用static 关键字修饰,则声明为实例变量和实例方法。
  1) 实例变量和类变量
  每个对象的实例变量都分配内存,通过该对象来访问这些实例变量,不同的实例变量是不同的。
  类变量仅在生成第一个对象时分配内存,所有实例对象共享同一个类变量,每个实例对象对类变量的改变都会影响到其它的实例对象。类变量可通过类名直接访问,无需先生成一个实例对象,也可以通过实例对象访问类变量。

  2) 实例方法和类方法
  实例方法可以对当前对象的实例变量进行操作,也可以对类变量进行操作,实例方法由实例对象调用。
  但类方法不能访问实例变量,只能访问类变量。类方法可以由类名直接调用,也可由实例对象进行调用。类方法中不能使用this或super关键字。
--------------------编程问答-------------------- static静态的,private私有的 --------------------编程问答-------------------- static静态的
private私有的
静态的不能被转换格式,在用时要注意数据的兼容 --------------------编程问答-------------------- 面向对象的3个重要特性:封装,继承,多态。
private声明的属性或方法只能由本类的对象调用,实现封装时经常要用到private关键字的。
static,静态的,一般来说都是由先创建对象,然后由对象来调用属性或方法的,不过用static修饰的,可以由类名直接调用,而不必创建对象,main()就是static的哦,呵呵 --------------------编程问答-------------------- static类型的不依赖于某个实例,在对象没有创建之前已经有static类型的内容的存在了。而且多个对象共享static
关于private,就是私有的,一个变量若定义为private,则其子类无法继承这变量 --------------------编程问答--------------------
引用 1 楼 hzc543806053 的回复:
static : 静态,可以定义静态变量,静态代码块 等等
private : 定义私有变量,方法等等

好像是这么回事,我也就知道这点 --------------------编程问答-------------------- static声明的方法不需要new对象就可以直接调用 --------------------编程问答-------------------- private限制了被修饰的方法或属性的访问权限
static声明的方法在类加载的同时也加载了不受对象的限制所以它可以直接由类名调用  简单点说就是static声明的东西在内存中有一块特定的区间 --------------------编程问答-------------------- static:静态的,是类所独有的,可直接使用"类名.static修饰的成员"进行访问,无需实例化该类
private是私有的,只允许所在类调用 --------------------编程问答-------------------- static 静态的
private 私有的 --------------------编程问答-------------------- private意味着,该成员只能被所在类的其他成员使用,类外部完全不知道的。除非用反射

static么,
对于内部类来说,就是静态内部类
对于方法么,意味着这个方法是属于类的,不用实例化任何对象就可以直接用,静态方法也就不能被重写,也没有运行时多态。
对于初始化快么,意味着他负责初始化静态成员变量,运行时机在“静态成员变量声明处的初始化语句”与“实例成员变量声明处初始化语句”之间
对于成员变量么 与静态方法类似。 --------------------编程问答-------------------- 概念的东西不是看说明能懂,你得写点码看看 --------------------编程问答-------------------- static  静态的 不需要new

private    私有的  想要别人访问  得提供 get  和 set   --------------------编程问答-------------------- 我看张孝祥的视频里面 用static修饰内部类 没怎么看懂 请教高人 --------------------编程问答-------------------- 0.00 --------------------编程问答-------------------- static静态的
private私有的 --------------------编程问答--------------------
引用 2 楼  的回复:
java语言中有四种不同的限定词,提供了四种不同的访问权限。

1) private 
类中限定为private的成员,只能被这个类本身访问。
如果一个类的构造方法声明为private,则其它类不能生成该类的一个实例。

2) default
类中不加任何访问权限限定的成员属于缺省的(default)访问状态,可以被这个类本身和同一个包中的类所访问。

3) protected……

很详细了!!
补充:Java ,  Java SE
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,