Java抽象类的构造方法和普通类的构造方法一样都是用来初始化类
只是抽象类的构造方法不能直接调用,因为抽象类不能实现实例
但是一旦一个普通类继承了抽象类,便也可以在构造函数中调用其抽象类的构造函数,也可以使用其方法
可以理解为:抽象类就是一个不能实例化的类,不过如果方法加了abstract那么就必须在子类里面重写了
类的修饰符整合
一.类
类的修饰符:
Public : 可以在其他任何类中使用,默认为统一包下的任意类。
Abstract: 抽象类 ,不能被实例化,可以包含抽象方法,抽象方法没有被实现,无具体功能,只能衍生子类。
Final : 不能被继承。
二.变量
变量修饰符:
一个类的成员变量的声明必须在类体中,而不能在方法中,方法中声明的是局部变量 。
1.可访问修饰符:
2.static :类变量 :一个类所拥有的变量,不是类的每个实例有的变量。类变量是指不管类创建了多少对象,系统仅在第一次调用类的时候为类变量分配内存,所有对象共享该类的类变量,因此可以通过类本身或者某个对象来访问类变量。
3.final :常量 。
4.volatile :声明一个可能同时被并存运行的几个线程所控制和修改的变量。
实例变量 :和类变量对应,即每个对象都拥有各自独立的实例变量。
三.方法:(和变量对象分为实例方法和类方法,并用有无static 修饰区别)
类方法 :使用static 关键字说明的方法
1. 第一次调用含类方法的类是,系统只为该类创建一个版本,这个版本被该类和该类的所有实例共享。
2. 类方法只能操作类变量,不能访问实例变量。类方法可以在类中被调用,不必创建实例来调用,当然也可以通过对象来调用。
实例方法 :实例方法可以对当前对象的实例变量操作,而且可以访问类变量。
方法可以重载 ,要求:方法名相同,但是参数必须有区别。(参数不同可以使类型不同,顺序不同,个数不同)
方法的返回类型:若无返回类型,则声明为void.
方法中的变量作用域:
1. 成员变量:整个类。
2. 局部变量:定义起到方法块结束为止。
3. 方法参数:整个方法或者构造方法。
4. 异常处理参数:参数传递给异常处理方法。
构造方法 :和类同名的方法。为新建对象开辟内存空间后,用于初始化新建的对象。不能用对象显式的调用。
静态初始化器 :格式:static{< 赋值语句组>}
静态初始化器与构造方法的区别:
静态初始化器 |
构造方法 |
对类的静态域初始化 |
对新建的对象初始化 |
类进入内存后,系统调用执行 |
执行new 后自动执行 |
属特殊语句(仅执行一次) |
属特殊方法 |
方法的修饰符:
抽象方法: 用abstract 修饰,只有声明部分,方法体为空,具体在子类中完成。
类方法: 静态方法,用static 修饰,
1. 调用时,使用类名作为前缀,而不是类的某个实例对象名
2. 不能被单独对象拥有,属于整个类共享。
3. 不能处理成员变量。
最终方法 :用final 修饰,不能被子类重新定义的方法。
本地方法 :用native 修饰的方法,表示用其他语言书写的特殊方法,包括C ,C++ ,FORTRAN ,汇编语言等。
相关推荐
C++的static关键字可修饰类成员变量/方法,表示变量/方法不从属于特定对象,而是属于类的。仔细琢磨静态成员变量,会发现其与C++的方式既相容也矛盾,具有特殊性。 先说相容的一面。·C/C++·有声明和定义的说法:...
private是一个修饰符,可以用来修饰成员(成员变量,成员方法) 被private修饰的成员,只能在本类进行访问,针对private修饰的成员变量,如果需要被其他类使 用,提供相应的操作 提供“get变量名()”方法,用于...
3.1 获取所有public修饰符的成员变量 3.2 获取指定字段并赋值 3.3 获取所有的成员变量(不考虑修饰符) 3.4 获取私有的变量(利用暴力反射) 4. 反射获取构造方法 4.1有参构造 4.2无参构造 4.3无参构造简便写法 ...
Java中的final关键字 1、修饰类的成员变量 这是final的主要用途之一,和C/C++的const,即该成员被修饰为常量,意味着不可修改。 上面的代码对age进行初始化后就不可再次赋值,否则编译时会报类似上图的错误。 ...
在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。 static用法 5、八大基本类型 byte1 short2 int4 long8 float4 double8 char1 bool1bit
JAVA基础知识精华总结 收藏 1、 对象的初始化 ...JAVA中除了RunTimeException 类,其他异常均须捕获或抛出。 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cppinside/archive/2004/06/28/28246.aspx
Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚 拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序...
在类体中定义的数据、变量和方法称为类的成员, 或称为实例变量和实例方法。 (7) 例如: 下例定义了一个 Point 类 ,并且声明了它的两个变量 x、y 坐标 ,同时实现 init()方法 对 x、y 赋初值 。 class Ponit { int...
1、 被final修饰的成员变量,一旦赋值就不能被修改。那么这种变量我们称之为常量: 常量的定义格式: public static final 数据类型 变量名 定义常量的时候,常量的名字要大写,如果存在两个单词组合起来的名字,要...
类:被class关键字修饰叫做类。理解:图纸。 对象:根据类生产出来制造出来的实例叫做对象。理解:实体。 (2)成员变量 在类中定义的变量叫做成员变量。理解:属性。 (3)成员方法 在类中定义的方法叫做成员方法...
11.4.3 使用private修饰类的成员变量 318 11.4.4 使用private,然后呢? 320 11.4.5 变量的覆盖 322 11.4.6 使用final修饰成员变量 325 11.4.7 静态成员变量 326 11.4.8 局部变量的修饰符 326 11.4.9 当final...
在java中:先编译后解释,把.java文件编译成.class字节码文件 Java源代码文件(.java文件)---> Java编译器(javac)---> Java字节码文件(.class文件,平台无关的)---> Java解释器(java),执行Java字节码 Java...
11.4.3 使用private修饰类的成员变量 318 11.4.4 使用private,然后呢? 320 11.4.5 变量的覆盖 322 11.4.6 使用final修饰成员变量 325 11.4.7 静态成员变量 326 11.4.8 局部变量的修饰符 326 11.4.9 当final...
Access modifier 访问控制修饰符:访问控制修饰符用来修饰Java中类、以及类的方法和变量的访问控制属性。 Anonymous class 匿名类:当你需要创建和使用一个类,而又不需要给出它的名字或者再次使用的使用,就...
2.7 成员变量(Instance Variables) 17 2.8 初始块(Initializer Blocks) 17 2.9 构造器(Constructors) 18 2.10 属性(Properties) 19 2.11 方法(Methods) 20 2.12 内部类(Inner Class) 25 3 例子 25 编码...
java中的类只有单继承,接口具有多继承 继承具有单根性,一个类只能有一个父类 不能继承父类的有三种情况 · 用private修饰的属性和方法 · 构造方法 · 用protected修饰的属性和方法,父类和子类不在同一包下...
(2)下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问? A)private B)无修饰符 C)public D)protected (3)给出下列代码,如何使成员变量m 被方法fun()直接访问? class Test { private ...
第四章 面向对象的概念和 Java 实现-2 回顾 类是具有相同属性和行为的一组对象的 集合 , 对象是类的实例 封装是隐藏对象实现细节的过程,以便不让用户看到实现的细节 类可用Class 来定义,类的变量和方法可被该类的...
.class字节码问题:.Java文件通过Javac编译工具生成对应的.class字节码文件,使用JDK中提供的反编译工具,可以看到.class文件中包含class完整的包名.类名。 Filed成员变量,成员变量的名字和成员变量的数据类型[如果...