java对象与类小议
来源:互联网 发布:mac os下载软件 编辑:程序博客网 时间:2024/05/29 11:55
本程序展示类类的一部分特性:
1 重载类构造器
2 用this(....)调用另一个构造器
3 无参构造器
4 在声明中初始化
5 在构造器中初始化
6 初始化块
7 静态初始化块
//主函数如下:public class ConstructorTest {public static void main(String[] args) {Employee[] staff = new Employee[3];staff[0] = new Employee();staff[1] = new Employee(6000);staff[2] = new Employee("魏金浩",7000);for (Employee employee : staff) {System.out.println("name = " + employee.getName() + ",id = " + employee.getId() + ",salary = " + employee.getSalary());}}}
import java.util.Random;public class Employee {private static int nextId;private int id;private String name = ""; //在声明中初始化private double salary;//静态初始化块static {Random r = new Random();nextId = r.nextInt(1000);}//初始化块 {id = nextId;nextId++;}//构造函数public Employee() {}public Employee(String name,double salary) {this.name = name;this.salary = salary;}public Employee(double salary) {this("Employee # " + nextId,salary); //在构造函数中调用构造函数}//类访问器public int getId() {return id;}public String getName() {return name;}public double getSalary() {return salary;}}
1 按照在类中出现的次序,在类第一次加载时执行静态代码块初始化和静态声明中初始化
2 所有的数据域被初始化为默认值
3 按照在类中出现的次序,执行代码块初始化和声明中初始化
4 如果构造函数中调用了构造函数,则先执行第二层构造函数在执行第一层构造函数
该段代码打印结果如下:
name = ,id = 830,salary = 0.0name = Employee # 831,id = 831,salary = 6000.0name = 魏金浩,id = 832,salary = 7000.0
1 0
- java对象与类小议
- 面向对象与面向组件小议
- 小议Java类的设计
- 面向对象与面向组件小议(一)
- 面向对象与面向组件小议(一)
- 转载:面向对象与面向组件小议 (一)
- 小议UNSOL_RESPONSE_CALL_STATE_CHANGED与GET_CURRENT_CALLS
- 小议进程与线程
- java 对象与类
- JAVA类与对象
- java对象与类
- java类与对象
- Java对象与类
- java类与对象
- Java-类与对象
- java类与对象
- java类与对象
- Java 类与对象
- layer UI学习
- iOS tintColor 与 backgroundColor
- 11.回归分析
- 1001. 害死人不偿命的(3n+1)猜想 (15)
- CSS
- java对象与类小议
- git 的一系列操作
- Unity教程之-Unity Attribute的使用总结
- jdk1.8 concurrenthashmap
- 【Ubuntu 16】 SSH免密码登录
- SpringMVC
- 机器学习简介
- 函数式编程(1)
- JAVA深复制(深克隆)与浅复制(浅克隆)