java入门视频教学,java入门从哪里开始学
静态关键字:定义一个类的时候,只是描述了某个事物的特征和行为,并不产生具体的数据。只有当类的实例对象被new关键字创建时,堆栈内存和内存才会被打开。当对象的属性保存在堆栈存储器中时,每个对象都有自己的属性。
如果希望所有对象共享某些属性,必须将它们声明为静态属性。如果一个属性是用static关键字修饰的,那么这个属性可以用类名直接调用,static关键字也可以修饰成员方法。
静态属性(Static attribute):如果在Java程序中使用Static来修饰一个属性,则称为静态属性(也称为全局属性),使用类名可以直接访问静态属性。
格式如下:
类名。属性名示例:
班级学生1{
字符串名称;
int age
学校=‘一所大学’;
public student1(字符串名称,整数年龄){
this.name=name
this.age=年龄;
}
公共无效信息(){
System.out.println(姓名: this.name 年龄: this.age 学校: school);
}
}公共类示例{
公共静态void main(String[]args){
Student1 stu1=新Student1(张三,10);
Student1 stu2=新Student1(李四,20);
Student1 stu3=新Student1(王五,18);
stu 1 . info();
stu 2 . info();
stu 3 . info();
}
}输出:
姓名:张三年龄:10学校:A大学
姓名:李四年龄:20学校:A大学
姓名:王武年龄:18学校:A大学在上面的例子中,三个学生都来自A大学。
假设现在A大学需要改名为B大学,那就意味着该校所有学生的学校信息都要修改,显然非常麻烦。
为了解决这个问题,我们可以使用static关键字来修改学校属性,使其成为公共属性。学校只会分配一个内存空间,由学生类的所有对象共享。一个对象只要修改一次,所有学生对象的学校属性值都会改变。
修改如下:
统计字符串school= a大学;1.stu= b大学;//只修改stu1对象的学校属性输出:
//stu1/stu2/stu3对象的学校属性已经更改。
姓名:张三年龄:10学校:B大学
姓名:李四年龄:20学校:B大学
姓名:王武年龄:18学校:B大学由此可以得出,static声明的属性是所有对象共有的。
自始至终,学校属性的内存空间大小没有变化。
静态方法:如果你想在一个类中使用一个成员方法,你需要首先实例化这个类。在实际开发中,开发人员有时希望不创建对象,直接通过类名调用方法。要达到这种效果,只需要在成员方法之前添加static关键字。用static关键字修饰的方法通常称为静态方法。
像静态变量一样,静态方法可以通过类名和对象来访问。类名。方法/实例对象名。静态方法的方法使用:示例:
课程示例{
公共静态void main(String[]args){
Student1 stu1=新Student1(张三,18);
student1 stu2=新student1(jason ,19);
Student1 stu3=新Student1(小明,20);
stu 1 . setage(20);//最后,用20替换实例stu1的age属性
Stu2.setName(小红);//最后用“小红”替换实例stu2的name属性
//将所有实例的学校属性替换为B大学。因为它是用static声明的,所以可以用类名直接调用它。
学生1。SetSchool(‘大学B’);
stu 1 . info();
stu 2 . info();
stu 3 . info();
}
}班级学生1{
私有字符串名称;
私人年龄;
私立静弦学校=某大学;
public student1(字符串名称,整数年龄){
this.name=name
this.age=年龄;
}
公共无效信息(){
System.out.println(姓名: this.name ,年龄: this.age ,学校: school );
}
//封装student1类的所有属性,必须使用setter方法来改变属性。
公共字符串getName(){
返回名称;
}
public void setName(字符串名){
this.name=name
}
public int getAge(){
回归年龄;
}
公共无效存储(整数){
this.age=年龄;
}
公共静态字符串getSchool(){
返校;
}
public static void set school(String school){
student 1 . school=学校;
}
}输出:
姓名:张三,年龄:20,学校:B大学
姓名:小红,年龄:19岁,学校:B大学
姓名:小明,年龄:20,学校:B大学静态方法只能访问静态成员,因为非静态成员需要创建对象才能访问,也就是随着对象的创建,非静态成员会分配内存,而静态方法不需要创建任何对象就可以调用。
静态代码块:在Java类中,用Static关键字修饰的代码块称为静态代码块。当由类加载时,静态代码块将被执行。由于该类只加载一次,静态代码块只执行一次。在程序中,类的成员变量通常用静态代码块初始化。
示例:
课程示例{
公共静态void main(String[]args){
student 1 stu 1=new student 1();
student 1 stu 2=new student 1();
student 1 stu 3=new student 1();
}
}班级学生1{
字符串名称;
//构造一个代码块
{
System.out.println(我是积木);
}
//静态代码块
静态{
System.out.println(我是静态代码块);
}
//构造方法
公共学生1(){
System.out.println(我是student1类的构造函数);
}
}输出:
我是一个静态代码块。
我在构建代码块。
我是student1班的构造方法。
我在构建代码块。
我是student1班的构造方法。
我在构建代码块。
我是student1班的构造方法。从输出结果我们不难看出,代码块的执行顺序是静态代码块-构造代码块-构造方法。
静态装饰的数量将与类文件一起加载,该类文件属于上述具有最高优先级的实例。虽然我们已经创建了三个实例化的对象,但是静态代码块中的内容只是顺序执行,并且是第一次执行,也就是说静态代码块只有在第一次使用类的时候才会加载,而且只会加载一次。
版权归作者所有:原创作品来自博主小二上九8,转载请联系作者取得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。