Java中private、public、static、protetced、abstract、final

abstract (抽象的)

1.abstract可以修饰类和成员方法,被abstract修饰的类称为抽象类,被abstract修饰成员方法叫抽象方法.抽象类不一定有抽象方法,但拥有抽象方法的一定是抽象类;

2.被abstract修饰的类不能直接实例化,需要通过子类实现,所有抽象类一定有子类.

3.继承抽象类的子类必须重写抽象类中的被abstract修饰的抽象方法,如果不继承就必须把自己变成抽象的子类.

final (最终的)

  1. final可以修饰类,成员变量,成员方法,局部变量/形参.

2.final 修饰的类不能被继承;

3.final修饰的方法不能被重写.

4.final修饰的成员变量是常量,必须在定义时就给值,并且不能改变,不能被重新赋值.

5.final修饰的局部变量、形参只能接受一次赋值,一旦赋值成功,不能重新复制.

static(静态的)

1.static可以修饰成员变量,成员方法;被static修饰的会被当前类的所有对象共享.

2.static修饰的成员变量和成员方法会被放在jvm的静态方法区中,随着类记载,可以使用类名或引用调用.

3.static修饰的成员方法只能调用static修饰的成员变量

private(私有的)

1.private可以修饰成员变量和成员方法;

2.被private修饰成员变量和成员方法;

3.被private修饰成员方法不能被重写

propetetced

  1. protected 可以修饰成员变量和成员方法;
  2. 被protected修饰的成员变量和成员方法可以被当前类和当前类的子类访问,其他类不能访问;
  3. 被protected修饰的成员方法可以被子类重写

public 公共的

  1. public修饰的类,成员变量,成员方法都是公共的,可以被所有类直接访问

原文地址:https://www.cnblogs.com/huisir/p/12193571.html

时间: 2024-11-07 08:31:35

Java中private、public、static、protetced、abstract、final的相关文章

在JAVA中利用public static final的组合方式对常量进行标识

在JAVA中利用public static final的组合方式对常量进行标识(固定格式). 对于在构造方法中利用final进行赋值的时候,此时在构造之前系统设置的默认值相对于构造方法失效. 常量(这里的常量指的是实例常量:即成员变量)赋值: ①在初始化的时候通过显式声明赋值.Final int x=3: ②在构造的时候赋值. 局部变量可以随时赋值. 1 package TomText; 2 //利用if语句,判断某一年是否是闰年. 3 public class TomText_28 { 4 p

hadoop 关于java中的public static 变量是不能被改变的?

我在写hadoop的时候,在mapper里定义了一个public static int rownums = 0.但我在main里对这个变量进行了赋值. 结果在循环的过程中,根本没有任何输出,因为我是用这个变量来控制循环的,所以我猜想可能是不能改变这个值,于是我直接在初始定义的时候直接赋上正确的值,所以这样最后程序就正确运行了. 但是我又新建了一个工程写了一个小程序,试了一下,明明是能够改变,正确输出的. 不能理解了. hadoop 关于java中的public static 变量是不能被改变的?

java中的关键字static(静态变量)和final定义常量

1 package point; 2 3 class Point { 4 5 int x = 0; 6 int y = 0; 7 static int z = 100; // 定义静态变量z,类变量 8 static final double PI = 3.1415926;// final定义常量,它的值在运行时不能被改变 9 10 Point(int a, int b) { 11 //PI=3.1415926; 12 /* 13 * 当使用静态常量的时候,不能在构造函数中初始化, 因为静态时,

Java中的内存处理机制和final、static、final static总结

Java中的内存处理机制和final.static.final static总结 装载自:http://blog.csdn.net/wqthaha/article/details/20923579 Java程序运行在JVM上,可以把JVM理解成Java程序和操作系统之间的桥梁,JVM实现了Java的平台无关性,由此可见JVM的重要性.所以在学习Java内存分配原理的时候一定要牢记这一切都是在JVM中进行的,JVM是内存分配原理的基础与前提.         一个完整的Java程序运行过程会涉及以

Java 中 modifer 'public' is reduntant for interface methods

http://androidren.com/index.php?qa=322&qa_1=java-%E4%B8%AD-modifer-public-is-reduntant-for-interface-methods 经常会看到接口上写了public修饰方法,然后IDE,比如:Eclipse或者IDEA经常会提示public是多余的.后来就查了一下.java默认接口的方法是public和abstract的,所以真没必要.同时,如果你使用private或者protected都会报错. 所以,安心删

Java中的覆盖和隐藏以及final关键字

Java覆盖和隐藏 (1) 变量只能被隐藏(包括静态和非静态),不能被覆盖: (2) 可以用子类的静态变量隐藏父类的静态变量,也可以用子类的非静态变量隐藏父类的静态变量,也可以用非最终变量(final)隐藏父类中的最终变量: (3) 静态方法(static)只能被隐藏,不能被覆盖: (4) 非静态方法可以被覆盖: (5) 不能用子类的静态方法隐藏父类中的非静态方法,否则编译会报错: (6) 不能用子类的非静态方法覆盖父类的静态方法,否则编译会报错: (7) 不能重写父类中的最终方法(final)

Java中this和static关键字及代码块

this: 可以使用this表示类中的属性------this.name=name 可以使用this强调调用的是本类的方法 可以使用this调用本类的构造方法------this();调用本类中无参构造方法 可以使用this表示当前对象(调用方法的对象)----最重要的用途 static: 声明属性---------属性则为全局变量 声明方法---------Person.setName("Tom");使用类名称调用static方法 普通代码块:直接在方法或是语句中定义的代码块 pub

Java中this、static关键字的内存图解

Java中的关键字有很多,abstract  default  goto*  null  switch  boolean  do  if  package  nchronzed  break  double  implements  private  this  byte  else  import  protected  throw  throws  case  extends  instanceof  public  transient  catch  false  int  return 

在java中string为什么要设计成final的

各种不同的理解 1 将方法或类声明为final主要目的是:确保它们不会再子类中改变语义.String类是final类,这意味着不允许任何人定义String的子类.换言之,如果有一个String的引用,它引用的一定是一个String对象,而不可能是其他类的对象.——<Java核心技术 卷I> 2 举个例子:一个方法可能本来接受String类型并返回其大写方式 public static String uppperString(String s){ return s.toUpperCase();

Java中private的使用

Java中也有为了数据的封装性而声明的private类型.这篇就使用一下,大致的用法和C++类似. Java中引入private的类型,目的是为了防止类中的数据成员,在类的定义之外被修改.也就说,private类型的数据成员只能在定义的时候修改,其余任何地方都不可以,该类的对象也不可以. 而且,private类型的数据可以作为构造函数的输入. 不过,我们也可以在类中定义读取和修改private类型数据的public函数.如下程序: /*** * * @author Administrator *