JAVA基础(构造方法 static关键字)
2019-06-22 21:28
302 查看
JAVA基础
- 构造方法
- static关键字
1.构造方法
- 构造方法概述:
构造方法用于创建对象并将其初始化 - 构造方法特点
a:方法名与类名相同
b:没有返回值类型,连void都没有
c:一个类中可以有多个构造方法,如果不写这个构造方法,系统默认会给一个空参构造
d:构造方法可以重载
public class Student { private String name; private int age; public Student(){ System.out.println("空参构造执行了"); } //构造方法的重载 public Student(String name){ System.out.println("一个参数的构造执行了"+name); } public Student(String name,int age) { System.out.println("两个个参数的构造执行了" + name+"==="+age); } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
- 有参构造和空参构造:
一个类中默认有空参构造
一个类中若给了有参构造,则默认没有空参构造
一个类中若给了空参构造,则默认没有无参构造
public class Test { public static void main(String[] args) { Student student1 = new Student(); //利用空参构造创建对象 student1.name="小何"; student1.age=19; System.out.println(student1.age+"---"+student1.name); System.out.println("----------"); Student student2 = new Student(20, "小明"); //利用有参构造创建对象 System.out.println(student2.age+"---"+student2.name); } } class Student { int age; String name; public Student() { } public Student(int age, String name) { this.age = age; this.name = name; } }
4. 创建对象的步骤
Student student = new Student();
步骤:
(1):加载Student.class文件进内存
(2):在栈内存为s开辟空间
(3):在堆内存为学生对象开辟空间
(4):对学生对象的成员变量进行默认初始化
(5):对学生对象的成员变量进行显示初始化
(6):通过构造方法对学生对象的成员变量赋值
(7):学生对象初始化完毕,把对象地址赋值给s变量
2.static关键字
- static 状态修饰符,静态的 ,可以修饰成员变量,可以修饰成员方法,
- static关键字特点: 被静态所修饰的成员,是随着类的加载(.class 一加载进内存,静态的数据就会加载)而加载
- 优先于对象存在
- 被类中所有对象共享,存在方法区的静态区
- 既可以通过类名调用,也可以通过对象名调用
-
在静态方法中是没有this关键字的
静态是随着类的加载而加载,this是随着对象的创建而存在。
-
所属不同
静态变量属于类,所以也称为类变量
成员变量属于对象,所以也称为实例变量(对象变量)
静态变量存储于方法区的静态区
成员变量存储于堆内存
静态变量随着类的加载而加载,随着类的消失而消失
成员变量随着对象的创建而存在,随着对象的消失而消失
静态变量可以通过类名调用,也可以通过对象调用
成员变量只能通过对象名调用
public class Test { public static void main(String[] args) { Student student1 = new Student(); student1.name="小何"; student1.age=19; System.out.println(student1.age+"---"+student1.name); System.out.println(student1.banji); System.out.println("----------"); Student student2 = new Student(20, "小明"); System.out.println(student2.age+"---"+student2.name); System.out.println(student2.banji); } } class Student { int age; String name; static String banji="一年一班"; public Student() { } public Student(int age, String name) { this.age = age; this.name = name; } }
相关文章推荐
- java基础_构造方法、this、static关键字
- 黑马程序员---java基础---面向对象中的构造方法及static关键字,变量的问题
- JAVA基础初探(三)面向对象思想、类与对象、成员变量与局部变量、构造方法、static关键字详解
- 黑马程序员——Java基础---面向对象(构造方法和static关键字)
- 黑马程序员——高新技术---Java基础语法—面向对象_构造方法,static 关键字
- Java基础之构造方法、this、static关键字
- JAVA基础-面向对象-(第十二课)构造方法,static关键字,帮助文档,Math类的随机数
- java基础知识(构造方法 对象的创建 static关键字 帮助文档)
- 【Java基础】----static关键字、代码块、Main方法、匿名对象详解
- 07-Java面向对象构造方法,static关键字,main方法,说明书,math随机数
- 黑马程序员---基础-概述、封装、构造方法、this和static关键字、继承
- Java精选笔记_面向对象(构造方法、this关键字、static关键字、内部类)
- Java基础--面向对象1(构造方法,static、this关键字)
- Java第7次作业:造人类(用private封装,用static关键字自己造重载输出方法)什么是面向对象程序设计?什么是类和对象?什么是无参有参构造方法 ?什么是封装?
- java 基础:static 与构造方法
- java -private,this,static关键字 和构造方法,final关键字
- java基础之----静态代码块和静态方法、以及static 关键字
- java基础3--面向对象(上)(static关键字与main方法)
- java 构造方法,static关键字,main方法修饰解释
- java详解 --- 构造方法和static关键字