JAVA基础:构造方法、静态变量
来源:互联网 发布:ipad版淘宝不支持横屏 编辑:程序博客网 时间:2024/06/05 09:18
构造方法
作用:对对象属性(成员变量)进行初始化;
写法:
1、构造方法的方法名与类名完全相同(大小写也完全相同)
2、不是返回属性型(没有void)
3、没有返回值(不能用return)
例题:
public static void main(String[] args) { Pen pen = new Pen(); pen.color = "红色"; pen.size = 10; pen.sayhi();}
}
class Pen{
String color;
int size;
//无参数构造
public Pen(){
}
//有参构造
public Pen(String color,int size) {
//给类的成员变量赋值
this.color = color;
this.size = size;
}
public void sayhi(){
System.out.println(“颜色是:” + color + ” “+ “尺寸是:” + size);
}
}
正常打印: console:颜色是:红色 尺寸是:10
如果成员变量不给赋值就打印的情况:
public static void main(String[] args) {
Pen pen = new Pen();
pen.color = “红色”;
pen.size = 10;
pen.sayhi();
}
}
class Pen{
String color;
int size;
//无参数构造
public Pen(){
}
//有参构造
public Pen(String color,int size) {
//给类的成员变量赋值
this.color = color;
this.size = size;
}
public void sayhi(){
System.out.println(“颜色是:” + color + ” “+ “尺寸是:” + size);
}
}
成员变量不给赋值: console:颜色是:null 尺寸是:0
console:颜色是:null 尺寸是:0 null和0是系统无参数构造给的初始值
如果使用有参构造:
public static void main(String[] args) { Pen pen = new Pen("红色",10); pen.sayhi();}
}
class Pen{
String color;
int size;
//无参数构造
// public Pen(){
// }
//有参构造
public Pen(String color,int size) {
//给类的成员变量赋值
this.color = color;
this.size = size;
}
public void sayhi(){
System.out.println(“颜色是:” + color + ” “+ “尺寸是:” + size);
}
}
使用有参数构造: console: 颜色是:红色 尺寸是:10 可以赋予成员变量初始值
构造方法的注意事项
构造方法的注意事项
1、如果你没写任何构造方法 那么系统会给你提供一个无参数的构造方法
2、如果你写了有参数的构造方法 这是系统就不在为你提供免费的构造方法
3、如果你想写有参数的构造方法 建议你把无参数的构造方法也写上
静态变量
先看代码:
public class Demo04 {
public static void main(String[] args) {
Star g1 = new Star();
s1.name = “约翰列侬”;
Star.country = “英国”;
s1.sayhi();
Star s2 = new Star(); s2.name = "吉米佩吉"; Star.country = "英国"; s2.sayhi();}
}
class Star{
String name;**static** String country;public void sayhi(){ System.out.println(name + "--" + country);}
}
打印结果 console : 约翰列侬–英国
吉米佩吉–英国
static 放在成员变量的前面 此成员变量就成为了类里面的静态变量,那么看一下静态变量的详细内容
静态变量
静态变量调用
1、可以使用对象去调用(但是不推荐)
2、静态变量用类名去调用
(静态变量不依赖对象 因为静态变量被加载的时候 对象还没有创建)
思考:静态变量的特点、好处、应用场景与成员变量的区别?
特点:1、随着类的加载而加载
2、创建优先于对象存在
3、是类的创建出来对象 共享的部分
4、可以使用类名去调用
好处:节省内存空间
应用场景:
例:公路与汽车
公路相当于静态变量,汽车是成员变量
静态变量与成员变量的区别
1、所属不同
成员变量:属于对象的 又叫对象变量(实例变量)
静态变量:属于类的 又叫类变量
2、内存中的存储位置不同
成员变量:存储在堆内存
静态变量:存储在方法区的静态区
3、加载到内存中的时机不同(声明周期不同)
成员变量:随着对象的创建而创建,随着对象的消失而消失
静态变量:随着类的加载而讯在
4、调用方法不同
成员变量:只能使用对象去调用
静态变量:可以用对象去调用 但是一般用类去调用
内存表现步骤
1、类加载到方法区
2、加载到方法区的同时 静态变量被加载到方法区的静态区
3、main函数入栈
4、创建在堆内存中 创建对象
5、把地址初值给main函数的对象保存
6、main函数出栈
7、程序结束
- JAVA基础:构造方法、静态变量
- JAVA 构造方法 静态变量 静态方法
- java构造方法 静态变量小知识
- java基础---静态变量、静态块、非静态块、构造函数及静态方法总结及一点儿想法
- Java基础静态变量、静态方法
- Java的构造方法,静态变量与静态方法
- Java 基础5(变量+构造方法)
- java学习 java -- 构造方法 静态变量和方法
- java 静态代码块、静态变量、成员变量、构造代码块、构造方法的执行顺序
- Java基础-静态变量、常量和方法
- java 构造方法、static关键字、静态变量、main方法
- java构造方法、静态变量初始化顺序的小例子
- Java基础(五)---局部变量、全局变量、静态变量、final变量、静态常量、静态方法
- Java中静态代码块,静态变量,静态方法,构造方法初始化顺序
- Java类的初始化顺序 (静态变量、静态初始化块、变量、初始化块、构造方法)
- Java---类加载机制,构造方法,静态变量,(静态)代码块,父类,变量加载顺序
- Java中静态块,静态成员变量,构造块,普通成员变量,构造方法的执行顺序
- 小东吖 之 java 构造方法 static关键字 静态变量 静态方法
- iOS判断一个库是否包含bitcode
- SQL Server中的临时表是否需要显式删除?
- Coursera deeplearning.ai 深度学习习题1-1-Introduction to deep learning
- 2017全球大数据产业八领域典型公司盘点分析
- 修改了CSS文件,JSP页面的样式却没有变化
- JAVA基础:构造方法、静态变量
- 类型转换
- SQL——Mysql数据库介绍
- 后端_第十课_用AJAX与网页交互
- 20171207一元二次方程
- 数据结构实验之图论七:驴友计划
- HashMap和Hashtable的区别
- 11.数据结构(4)
- Android图片解析