java 构造函数new过程、访问修饰符权限、Static、Fianl
来源:互联网 发布:周年庆特效源码 编辑:程序博客网 时间:2024/05/14 12:22
构造函数的作用
在被赋值给引用之前调用
介入new 的过程
完成初始化
Person p = new Person();
过程:
1.加载静态(static)成员变量 2.静态代码块 3.成员变量 4.执行构造方法
格式:访问修饰符 类名(参数列表){方法体}
注意:1.构造方法名称必须和类名必须一致 2.没有返回值 3.系统会自动生成一个无参构造方法。4.当显示定义构造后,系统自带无参的构造方法失效。
or
Java语言中,每个类都至少有一个构造方法;
如果类的定义者没有显式的定义任何构造方法,系统将自动提供一个默认的构造方法:
默认构造方法没有参数
默认构造方法没有方法体
Java类中,一旦类的定义者显式定义了一个或多个构造方法,系统将不在提供默认的构造方法;
当父类和子类有Static时,先初始化父类Static,再初始化子类的Static,再初始化父类的其他成员变量->父类构造方法->子类其他成员变量->子类的构造方法。
父类上层还有父类时,总是先执行最顶层父类的Static-->派生类Static-->派生类Static-->.......-->子类Static-->顶层父类的其他成员变量-->父类构造方法--> 派生类的其他成员变量 --> 派生类构造方法--> ...............-->子类其他成员变量-->子类构造方法
Eg:
类的定义:
class Person {
int age;
void setAge(int w) { age = w; }
}
等价于:
class Person{
int age
Person() {}
void setAge(int w) { age = w; }
}
构造方法重载必须遵循构造方法和方法重载的规则。
在子类的构造方法中可使用super(argument_list)语句调用父类的构造方法
如果子类的构造方法中没有显示地调用父类构造方法,则系统默认调用父类无参数的构造方法
如果子类构造方法中既未显式调用父类构造方法,而父类中又没有无参的构造方法,则编译出错**
Java引用类型成员变量默认初始化原则
访问修饰符(修饰成员变量/方法)
Public(公共)
Protected(受保护)
默认
Private(私有)
同类中
√
√
√
√
同包不同类
√
√
√
同包子类
√
√
√
不同包子类
√
√
不同包不同类
√
类的访问修饰符
public:任何包中的类都可以访问该类
默认值:同一个包中的类可以访问该类
Static:
在Java类中声明变量、方法和内部类时,可使用关键字static做为修饰符。
static标记的变量或方法由整个类(整个应用)共享,如访问控制权限允许,可不必创建该类对象而直接用类名加‘.’调用。
static成员也称类成员或静态成员,如:类属性、类方法、静态方法等
Fianl:
final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。
final标记的成员变量必须在声明的同时或在每个构造方法中显式赋值,然后才能使用
Final修饰的变量就成常量(值不能被改变)
Final修饰的类不能被继承。
Fianl修饰的方法不能被重写。
结合 publicstatic 使用
垃圾回收机制:
System.gc();//开发人员不能干涉垃圾回收机制回收那个对象 只能通知JVM可以回收垃圾了。
- java 构造函数new过程、访问修饰符权限、Static、Fianl
- Java:构造函数的访问修饰符
- Java:构造函数的访问修饰符
- 构造函数的访问权限修饰符的作用
- 黑马程序员--Java之fianl修饰符
- 修饰符访问权限和static方法
- [Java]访问权限修饰符
- java 修饰符访问权限
- Java访问权限修饰符
- java访问权限修饰符
- Java访问权限修饰符
- Java访问权限修饰符
- Java 访问权限修饰符
- java访问权限修饰符
- java访问权限修饰符
- Java访问权限修饰符
- java权限访问修饰符
- Java访问权限修饰符
- Application Log - TCODE & ABAP Code
- 邓小平改革四法:摸法、猫论、刀论、糖果法
- 32-Bit Paging
- ajax
- 给学linux人的一些建议
- java 构造函数new过程、访问修饰符权限、Static、Fianl
- 安全行车十五想
- 只有离得够远,才能看清某些东西
- Android所有系统资源图标android.R.drawable查看
- 超声波测距传感器
- Android应用程序消息循环源码分析
- 第一章-------单参数线性回归 Linear Regression with one variable
- linux必须60个命令
- 信用卡 或证件号替换*