做网站前必须设计原型吗,建设一个网站需要哪些硬件设备,手机网站怎么做优化,咸宁商城网站建设当有new创建一个对象的,里面属性和方法,通过构造函数,能定义多个不同的对象,在我们做面向对象开发的时候,给一个场景,人在一个班级的时候,你的老师可能是固定的。
当我们用构造方法去构造的时候#xff0c;每次都去传递一个固定的实参去定义个老师。
这样好会显得代码非常的…当有new创建一个对象的,里面属性和方法,通过构造函数,能定义多个不同的对象,在我们做面向对象开发的时候,给一个场景,人在一个班级的时候,你的老师可能是固定的。
当我们用构造方法去构造的时候每次都去传递一个固定的实参去定义个老师。
这样好会显得代码非常的冗余。 一.static修饰的静态成员变量
1.静态变量
被static修饰的成员变量,叫做静态变量。
2.特点
该类所有对象共享
3.调用方式
(1)类名调用(推荐)
(2)对象名调用
4.代码案例 5.代码内存图
1.首先在测试类中加载main方法解析字节码文件
2.初始化成员变量和方法,默认给初始值。
3.被static修饰的静态成员变量,单独放在一个位置,我们暂且叫它静态成员变量区。 4.通过new关键字在堆里面去构造一个对象
5.将赋值过去的成员变量,给对应的变量
6.并且每个对象都有一个地址值,我们暂且理解他用隐藏的this关键字来连接起来的。
7.在创建第二个新对象的时候,还是一样初始化变量的值,重复以上的操作不过已经不用给静态变量那一块赋值了,因为没创建一个对象,都会加载静态成员变量区的static修饰的静态成员变量。 6.共享
当我们去定义一个类的时候发现他的属性,每个对象都用得到的时候,我们可以使用静态成员变量。 二.static修饰的静态方法
1.三种类
(1)测试类
程序的入口,判断测试是否能正常运行。
(2)JavaBean类
用来描述一类事物
package aa.com;public class JvB {String name;int age;public JvB() {}public JvB(String name, int age) {this.name name;this.age 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 void show() {System.out.println(我是 name 今年 age 岁);}}(3)工具类
不是用来描述一类事物的,而是帮我们做一些事情的类。
1.规则
(1)类名见名知义
(2)私有化构造方法
(3)方法定义成静态的方便调用
2.案例(定义一个求数组和的方法)
工具类
package aa.com;public class gjl {public static int getResult(int[] arr) {int sum 0;for (int i 0; i arr.length; i) {sum sum arr[i];}return sum;}
}
测试类:
package aa.com;public class ceShi {public static void main(String[] args) {
//
// JvB aa new JvB(张三, 20);
// aa.show();int[] arr {10, 20, 30, 40, 50};System.out.println(gjl.getResult(arr));}
}3.调用
类名.方法名; 三.static的注意事项
1.静态方法只能访问静态变量和静态方法
2.非静态方法可以访问静态变量或者静态方法也可以访问非静态的成员变量和非静态的成员方法
3.静态方法中是没有this关键字
总结:
静态方法中,只能访问静态。
非静态方法可以访问所有。
静态方法中没有this关键字