2.1成员变量
概述:在java中,变量可以分为成员变量和局部变量,成员变量是在类范围内定义的变量,局部变量是在方法中定义的变量,java程序中的变量划分。
成员变量语法:
[<修饰符>] [static] [final]<变量类型><变量名>
语法说明
1.static:表示一个类的成员变量,即静态成员变量。
2.final:表示是一个常量。
创建Hero应用类,在该类中定义name和age实例变量,验证实例变量的作用域,详见如下:
public class Heroa {
String name;
int age;
public static void main(String[] args) {
// TODO Auto-generated method stub
Heroa hero1 =new Heroa();
hero1.name="德鲁伊";
hero1.age=45;
Heroa hero2=new Heroa();
System.out.println("英雄hero1的名字:"+hero1.name+"\t"+"年龄:"+hero1.age);
System.out.println("英雄hero2的名字:"+hero2.name+"\t"+"年龄:"+hero2.age);
}
}
运行结果如下图
2.2this关键字
this关键字最大的作用就是让类中的一个方法访问该类中的另一个方法或实例成员变量。
如:(1)创建一个Dota游戏中的兵营类,该类中有一个类成员变量count,一个实例变量name和另一个实例变量selfCount。
(2)count表示的是兵营已经创建 士兵的总数;name表示的是每个兵营的名称;selfCount表示每个兵营已经创建的士兵数量 。
(3)创建3个兵营,通过控制台为每个兵营定义兵营名称,并指定该兵营需要创建的士兵人数。
(4)在主力方法中输出当前兵营中的总人数。
参考代码如下
import java.util.Scanner;
public class operator {
Scanner input = new Scanner(System.in)
for(int i =0;i <3;i++) {
System.out.println("请入第"+(1+i)+"个兵营的名字:");
String name = input.next();
this.name=name;
System.out.println("请输入第"+(1+i)+"已创建士兵的总数:");
int selfCount=input.nextInt();
this.selfCount=selfCount;
count=count+this.selfCount;
}
System.out.println("当前3个士兵营共创建士兵:"+count+"人");
}
2.3隐藏和封装
封装是面向对象的三大特性之一,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类所提供的方法实现对内部信息的操作和访问。
如邮递的包裹,我们只能看到包裹外部的包装,却看不到里面的物品。
2.3.2使用访问控制符
private只是java访问修饰控制符的一种,除private外,java还提供了default,protected和public。java中访问修饰符级别从小到大如下:
private,default,protected,public
2.4static关键字
来看看个实例理解一下吧
例创建Book对象,深入了解java程序启动class文件被读取时,类加载和静态代码块的执行过程,以及static()方法调用。参考代码如下:
public class Book {
public static booksum =0;
static {
print();
System.out.println("this is static block");
}
public Book() {
System.out.println("this is Book's countructor");
booksum+ =1;
}
public static void print() {
System.out.println("this is static method");
}
public static void main(String[] args) {
Book book = new Book();
}
}
小结:类的成员变量包含静态变量和实例变量。静态变量是被static关键字修饰的成员变量,静态成员变量 属于其所在类,被类中的所有实例共享,静态成员变量可通过类直接访问,也可通过类的实例访问。
————————————————
版权声明:本文为CSDN博主「zan1012206253」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zan1012206253/article/details/117731796