构造对象 的使用 以及 引入static
来源:互联网 发布:姓名签名设计软件 编辑:程序博客网 时间:2024/06/06 20:19
/*
定义一个人类
姓名和年龄都是变化的,这个我能接收,因为每个人的姓名和年龄是不同的。
但是,我们现在选取的几个人都是中国人,他们的国籍是一样的。
一样的国籍,我每次创建对象,在堆内存都要开辟这样的空间,
我就觉得有点浪费了。怎么办呢?
针对多个对象有共同的这样的成员变量值的时候,
Java就提高了一个关键字来修饰:static。
*/
class Person {
//姓名
String name;
//年龄
int age;
//国籍
//String country;
static String country;
public Person(){}
public Person(String name,int age) {
this.name = name;
this.age = age;
}
public Person(String name,int age,String country) {
this.name = name;
this.age = age;
this.country = country;
}
public void show() {
System.out.println("姓名:"+name+",年龄:"+age+",国籍:"+country);
}
}
class PersonDemo {
public static void main(String[] args) {
//创建对象1
Person p1 = new Person("邓丽君",16,"中国");
p1.show();
//创建对象2
//Person p2 = new Person("杨幂",22,"中国");
//p2.show();
Person p2 = new Person("杨幂",22);
p2.show();
//创建对象3
//Person p3 = new Person("凤姐",20,"中国");
//p3.show();
Person p3 = new Person("凤姐",20);
p3.show();
p3.country = "美国";
p3.show();
p1.show();
p2.show();
}
}
定义一个人类
姓名和年龄都是变化的,这个我能接收,因为每个人的姓名和年龄是不同的。
但是,我们现在选取的几个人都是中国人,他们的国籍是一样的。
一样的国籍,我每次创建对象,在堆内存都要开辟这样的空间,
我就觉得有点浪费了。怎么办呢?
针对多个对象有共同的这样的成员变量值的时候,
Java就提高了一个关键字来修饰:static。
*/
class Person {
//姓名
String name;
//年龄
int age;
//国籍
//String country;
static String country;
public Person(){}
public Person(String name,int age) {
this.name = name;
this.age = age;
}
public Person(String name,int age,String country) {
this.name = name;
this.age = age;
this.country = country;
}
public void show() {
System.out.println("姓名:"+name+",年龄:"+age+",国籍:"+country);
}
}
class PersonDemo {
public static void main(String[] args) {
//创建对象1
Person p1 = new Person("邓丽君",16,"中国");
p1.show();
//创建对象2
//Person p2 = new Person("杨幂",22,"中国");
//p2.show();
Person p2 = new Person("杨幂",22);
p2.show();
//创建对象3
//Person p3 = new Person("凤姐",20,"中国");
//p3.show();
Person p3 = new Person("凤姐",20);
p3.show();
p3.country = "美国";
p3.show();
p1.show();
p2.show();
}
}
0 0
- 构造对象 的使用 以及 引入static
- 面向对象中的构造方法以及关键字static的理解
- 面向对象,构造以及static应用整理
- static 变量和static 构造函数 以及对象初始化顺序
- 类的加载、创建对象、静态变量static、构造函数、静态代码块、构造代码块、构造方法以及总结
- 类和对象,以及static关键字的使用
- assign()的使用以及在构造对象时不能使用
- (1.1.15)对象成员变量的构造函数和对象构造函数的执顺序以及Static、final、abstract、interface
- 构造方法和static关键字的使用
- 从对象创建 到构造函数以及原型对象(prototype的使用,属性的共享)
- 使用包时的静态引入:import static
- JavaSE_65_对象的构造方法以及初始化
- 对象的this以及构造方法
- java4android(5)面向对象、类的定义、生成对象的方法、使用对象的方法、生成多个对象、构造函数super()、函数重载、static、继承
- static对象和非static对象构造和析构顺序的问题
- static对象构造时成员变量的值
- static的生命周期,以及使用范围
- 什么是对象?什么是类?什么是构造方法?static的用法!public static void main什么意思。
- 解决Jetbrains旗下产品的插件下载失败问题(IntelliJ IDEA、RubyMine、WebStorm、PhpStorm、PyCharm、AppCode、Android Studio等)
- JS端的localStorage:HTML5提供的本地存储(可以称为“键值对”数据库)
- session入redis
- CSVs in Python 2
- EasyUI ComboBox(下拉列表框)
- 构造对象 的使用 以及 引入static
- shell--指“提供使用者使用界面”的软件(命令解析器)
- unity3d 第十一天
- protobuf语言指南
- MachineLearning03_SVM算法
- 杭电女生赛—Combine String
- win10MySQL数据库安装与配置详解
- 【HDU 1025】Constructing Roads In JGShining's Kingdom(最长上升子序列LIS)
- cpuinfo和lscpu查看CPU相关的信息