
4.2类
发布日期:2021-05-07 06:39:20
浏览次数:21
分类:精选文章
本文共 1556 字,大约阅读时间需要 5 分钟。
1:类名要满足标识符(中文不在里面)规则,但也可以用中文,但不提倡使用中文。
2:成员变量和局部变量的类型可以是数据类型,也可以是引用类型。
3:变量的有效范围
成员变量:整个类内有效
局部变量:只在声明它的方法内有效(在方法、构造方法或者语句块中定义的变量被称为局部变量)
- 访问修饰符(public这些)不能用于局部变量;局部变量是在栈上分配的;
- 局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。
方法参数:整个方法内有效,比如void f(int a){},参数a在方法f中有效
方法内的局部变量:声明它的位置之后有效,比如:
package cn.test;class test { int a=1; //成员变量 void f(){ if(a>0){ int b=2; //b只在这个复合语句中有效 b=a+b; System.out.println(b); //有效 } for(int c=0;c
4:成员变量又分为实例变量和类变量,类变量用static修饰,也称为静态变量或者static变量
方法也一样,分为实例方法和类方法
注意:
//实例方法可以对实例变量和类变量进行操作,类方法只能对类变量操作//一个类中,实例方法可以调用该类的其他方法,类方法只能调用类方法
5:成员变量隐藏
package cn.test;public class test { int a=1; //成员变量 public void f(){ int a=2; //局部变量名字和成员变量名字一样,成员变量a在这个方法暂时失效,a=2 } public void g(int a){ this.a=a; //使用this可以在该方法中使用成员变量a }}
6:对成员变量的操作只能放在方法中
package cn.test;public class test { int c=1; //成员变量可以在声明的同时赋初值 int sum; sum=1; //非法,这是赋值语句,对成员变量的操作只能在方法内 }
7:类的方法
package cn.test;public class test { int a=1;// 构造方法,无返回值,当构造方法加了void,那就不能被自动调用了// 每个类都有构造方法。如果没有显式地为类定义构造方法,Java编译器将会为该类提供一个默认构造方法(无参数的)// 当一个类的实例对象创建的时候,这个类的构造方法就会被自动调用// 友好,无参数 test(){ }// 构造方法,带参数 test(int a){ this.a=a; }// 普通方法 void getA(){// 友好,不带参数,无返回值 } int getB(){// 友好,不带参数,有返回值,返回成员变量a的值 return a; } public void getC(int b){// 公共,带参数,无返回值 } public int getD(int c){// 公共,带参数,有返回值 return c; } }
发表评论
最新留言
感谢大佬
[***.8.128.20]2025年03月29日 13时50分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
[网站公告]11月26日00:00-04:00阿里云RDS升级
2019-03-06
[网站公告]又拍云API故障造成图片无法上传(已恢复)
2019-03-06
上周热点回顾(12.16-12.22)
2019-03-06
云计算之路-阿里云上:对“黑色30秒”问题的猜想
2019-03-06
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了
2019-03-06
云计算之路-阿里云上:奇怪的CPU 100%问题
2019-03-06
云计算之路-阿里云上:2014年6月12日12点IIS请求到达量突降
2019-03-06
上周热点回顾(6.9-6.15)
2019-03-06
上周热点回顾(6.16-6.22)
2019-03-06
上周热点回顾(10.20-10.26)
2019-03-06
上周热点回顾(2.16-2.22)
2019-03-06
上周热点回顾(3.2-3.8)
2019-03-06
.NET跨平台之旅:借助ASP.NET 5 Beta5的新特性显示CLR与操作系统信息
2019-03-06
上周热点回顾(7.27-8.2)
2019-03-06
上周热点回顾(9.28-10.4)
2019-03-06
上周热点回顾(5.2-5.8)
2019-03-06
上周热点回顾(5.9-5.15)
2019-03-06
上周热点回顾(8.8-8.14)
2019-03-06
.NET跨平台之旅:将示例站点升级至 .NET Core 1.1 Preview 1
2019-03-06
上周热点回顾(1.16-1.22)
2019-03-06