网站开发设计公司块位,制作网站哪家好,xx公司网络组建方案毕业设计,有了服务器怎么做网站目录
1.概述
2.定义格式和使用
2.1 静态变量及其访问
2.2 实例变量及其访问
2.3 静态方法及其访问
2.4 实例方法及其访问
3.小结 1.概述
static表示静态#xff0c;是Java中的一个修饰符#xff0c;可以修饰成员方法#xff0c;成员变量。被static修饰后的#xff…目录
1.概述
2.定义格式和使用
2.1 静态变量及其访问
2.2 实例变量及其访问
2.3 静态方法及其访问
2.4 实例方法及其访问
3.小结 1.概述
static表示静态是Java中的一个修饰符可以修饰成员方法成员变量。被static修饰后的直接利用“类名.静态变量xxx”的格式初始化该类中所有对象都可以共享这个成员变量成员方法不用一一赋值 被static修饰的成员变量叫做静态变量 特点被该类的所有对象共享调用方式类名调用推荐对象名调用 被static修饰的成员方法叫做静态方法 特点多用在测试类和工具类中JavaBean中很少使用调用方式类名调用推荐对象名调用 补充
JavaBean类用来描述一些事物的类
测试类用来检查其他的类是书写正确带有main方法的类是程序的入口
工具类帮助我们做一些事情但是不描述任何事情的类
见名知意私有化换构造方法目的不让外界创建它的对象 public class Student{privte Student(){}//私有化构造方法//不写构造方法的话程序会自动给你一个无参构造但不是private的
}
以前我们定义过如下类
public class Student{//成员变量public String name;public char sex;//男,女public int age;//无参构造方法public Student(){}//有参构造方法public Student(String name){this.namename;}
}
我们已经知道面向对象中存在类和对象的概念我们在类中定义了一些成员变量例如studentTeacher ,结果发现这些成员变量每个对象都存在因为每个对象都可以访问。 而像name ,age , sex确实是每个学生对象都应该有的属性应该属于每个对象。 所以Java中成员变量和方法等是存在所属性的Java是通过static关键字来区分的。static关键字在Java开发非常的重要对于理解面向对象非常关键。 关于 static 关键字的使用它可以用来修饰的成员变量和成员方法被static修饰的成员是属于类的是放在静态区中没有static修饰的成员变量和方法则是属于对象的。我们上面案例中的成员变量都是没有static修饰的所以属于每个对象。
2.定义格式和使用
static是静态的意思。 static可以修饰成员变量或者修饰方法。
2.1 静态变量及其访问 有static修饰成员变量说明这个成员变量是属于类的这个成员变量称为类变量或者静态成员变量。 直接用 类名访问即可。因为类只有一个所以静态成员变量在内存区域中也只存在一份。所有的对象都可以共享这个变量。
如何使用呢
例如现在我们需要定义传智全部的学生类那么这些学生类的对象的学校属性应该都是“传智”这个时候我们可以把这个属性定义成static修饰的静态成员变量。
静态成员变量的访问 格式类名.静态变量 定义格式
修饰符 static 数据类型 变量名初始值; 举例 package staticins.oo;class Student {String name;int age;static String teacherName;//static 共享的成员变量public void show(){System.out.println(name,age,teacherName);}
}
public class StudentText {public static void main(String[] args) {Student.teacherName老师大人;//Student类的所有对象都可以调用Student stu1new Student();stu1.name肘子;stu1.age18;stu1.show();Student stu2new Student();stu2.show();}
}结果 2.2 实例变量及其访问
无static修饰的成员变量属于每个对象的 这个成员变量叫实例变量之前我们写成员变量就是实例成员变量。需要注意的是实例成员变量属于每个对象必须创建类的对象才可以访问。 格式对象.实例成员变量 package staticins.oo;public class test {public String name ;public test(String name) {this.name name;}
}
class name{public static void main(String[] args) {test name1new test(aaa);test name2new test(QQQ);System.out.println(name1.name);System.out.println(name2.name);}
}
结果 2.3 静态方法及其访问 有static修饰成员方法说明这个成员方法是属于类的这个成员方法称为类方法或者静态方法**。 直接用 类名访问即可。因为类只有一个所以静态方法在内存区域中也只存在一份。所有的对象都可以共享这个方法。与静态成员变量一样静态方法也是直接通过类名.方法名称即可访问。 举例
public class Student{public static String schoolName 传智播客 // 属于类只有一份。// .....public static void study(){System.out.println(我们都在黑马程序员学习); }
}静态成员变量的访问 格式类名.静态方法 public static void main(String[] args){Student.study();
}2.4 实例方法及其访问
无static修饰的成员方法属于每个对象的这个成员方法也叫做实例方法。 需要注意的是实例方法是属于每个对象必须创建类的对象才可以访问。 格式对象.实例方法 示例
public class Student {// 实例变量private String name ;// 2.方法行为// 无 static修饰实例方法。属于每个对象必须创建对象调用public void run(){System.out.println(学生可以跑步);}// 无 static修饰实例方法public void sleep(){System.out.println(学生睡觉);}public static void study(){}
}public static void main(String[] args){// 创建对象 Student stu new Student ;stu.name 徐干;// Student.sleep();// 报错必须用对象访问。stu.sleep();stu.run();
}3.小结 1.当 static 修饰成员变量或者成员方法时该变量称为静态变量该方法称为静态方法。该类的每个对象都共享同一个类的静态变量和静态方法。任何对象都可以更改该静态变量的值或者访问静态方法。但是不推荐这种方式去访问。因为静态变量或者静态方法直接通过类名访问即可完全没有必要用对象去访问。 2.无static修饰的成员变量或者成员方法称为实例变量实例方法实例变量和实例方法必须创建类的对象然后通过对象来访问。 3.static修饰的成员属于类会存储在静态区是随着类的加载而加载的且只加载一次所以只有一份节省内存。存储于一块固定的内存区域静态区所以可以直接被类名调用。它优先于对象存在所以可以被所有对象共享。 4.无static修饰的成员是属于对象对象有多少个他们就会出现多少份。所以必须由对象调用。
4.static的注意事项
静态方法只能访问静态变量和静态方法 //静态方法中只能访问静态非静态的方法可以访问静态变量和静态方法也可以访问非静态的成员变量和非静态的成员方法 //非静态的可以访问所有
非静态从属于对象需要区分对象静态从属于类所以对象共享的不需要区分对象但是对象可以调用
静态方法中没有this关键字因为不存在对象