一、java中的类
1.什么是 类?
在Java中用来描述具有性质或性质特征相同的元素抽象出来的自定义复合数据类型
1.1类—类型 –数据类型–复合数据类型—自定义复合数据类型类
2.创建java类
通过class关键字创建java类
格式:public class 类名{}
public—访问限制修饰符
class—-定义类的,首字母大写
{}———类体,放的内容具有性质或体特征相同的元素
例如:
public class Student {} //任何地方都可以访问
class Person {} //只能被同一个包中的类访问
3.java类体{}中可以编写什么
{}–放在内容具有性质或特征相同的元素
具有相纸或特征相同的元素是用来描述某一组事务。
1.可以编写属性和功能
2.可以编写变量和方法
4.java中的变量
1.变量的本质就是保存数据
2.变量组成有:数据类型、变量名称、初始值、作用域
3.变量用来描述事物的基本属性
4.变量一定定义在类中
5.变量的分类:
5.1 类中方法外—全局变量【成员变量】
可以使用访问限制修饰符【public缺省的{有好的}】
可以不用赋予初始值,系统自动赋于默认值,也可以根据需要自己设置
可以在本类中的任意一个方法中使用
例如: package com.wangxing.test; /** * 介绍全局变量 * 1.全局变量也叫成员变量 * 2.类中方法定义 * 3.可以使用访问修饰符【public 缺省的{有好的}】 * 4.可以不用赋予初始值,系统会自动赋予默认值, * 也可以根据自己需要设置初始值 * @author 联想 * */ public class QuanJu { //可以访问限制修饰符 //可以不用赋值,系统会自动赋予默认值 public int int1; //不使用访问修饰符,其实就是使用了缺省的访问修饰符 String str1="fxt"; //测试方法 //在本类任意的方法中使用 public void method1(){ System.out.println("int int1=="+int1); System.out.println("String str1=="+str1); } public void method2(){ System.out.println("int int1=="+int1); System.out.println("String str1=="+str1); } }
5.2类中方法里【方法参数】—-局部变量
不能使用访问限制修饰符
必须设置初始值
只能在本方法中使用
例如:package com.wangxing.test; /** * 介绍局部变量 * 1.类中方法定义 * 2.不能使用访问修饰符 * 3.必须设置初始值 * 4.只能在本方法中使用 * @author 联想 * */ public class JuBu { //测试方法 public void method1(){ //不能使用访问修饰符 //public int int1=0; //必须赋予初始值 //public int int2; int int3=10; String str1="ch"; System.out.println("int int3=="+int3); System.out.println("String str1=="+str1); } public void method2(){ //在其他方法中不能使用 //System.out.println("int int3=="+int3); //System.out.println("String str1=="+str1); } }
6.成员变量的隐藏
在同一个类中成员变量与某一个方法中的局部变量的名称相同,这时我们在
方法中访问这个成员变量时,得到的结果是局部变量的值,此时方法中的局部变量将类
中的成员变量的值隐藏了。这就是局部变量的隐藏。
使用this.成员变量名称 – – – 就可以得到被隐藏的成员变量。
例如:创建YinCangChengYuan 类package com.wangxing.test; /** * 成员变量的隐藏 * 1.在同一个类中成员变量与某一个方法中的局部变量的名称相同, * 这时我们在方法中访问这个成员变量时,得到的结果是局部变量的值 * 此时方法中的局部变量将类中的成员变量的值隐藏了。这就是局部变量的隐藏。 * @author 联想 * */ public class YinCangChengYuan { //定义一个成员变量 public String name="房续婷"; //定义一个方法里面定义局部变量 public void method1(){ //局部变量 String name="zhangsan"; //此时局部变量的值隐藏了成员变量的值 System.out.println("name=="+name);//zhangsan,局部变量name的值 //如果需要方法中使用被隐藏的成员变量 //使用this.成员变量名称 --- 就可以得到被隐藏的成员变量值 System.out.println("name=="+this.name);//房续婷 } }
创建测试的主方法类
package com.wangxing.test; /** * 测试类 * @author 联想 * */ public class TestMain { public static void main(String args[]){ //创建YinCangChengYuan类的对象 YinCangChengYuan yccy=new YinCangChengYuan(); //调用YinCangChengYuan类中的方法method1 yccy.method1(); } }
7.静态成员变量与实例变量
1.静态成员变量与实例成员变量
2.静态成员变量是用过static关键字修饰的
3.实例成员变量就是普通的成员变量没有static关键字修饰的成员变量
实例变量—成员变量
1.可以使用访问修饰符 【public 缺省的{有好的}】
2.可以不用赋予初始值,系统自动赋予默认值,也可以根据需要自己设置
3.可以在本类中的任意一个方法中被使用
4.只能被对象访问
5.不能在同一个类对象之间共享数据值
静态成员变量【类变量】–成员变量
1.可以使用访问修饰符 【public 缺省的{有好的}】
2.可以不用赋予初始值,系统自动赋予默认值,也可以根据需要自己设置
3.可以在本类中的任意一个方法中被使用
4.可以被对象访问,也可以用类名访问
5.能在同一个类对象之间共享数据值
例如:创建静态成员变量的类package com.wangxing.test; public class StaticChengYuan { public static String adress="西安"; public void method1(){ //可以使用类名访问 System.out.println(StaticChengYuan.adress); } }
创建测试用的主方法类
package com.wangxing.test; /** * 测试类 * @author 联想 * */ public class TestMain { public static void main(String args[]){ //测试实例成员变量与静态成员变量 //创建QuanJu类的对象 QuanJu qj=new QuanJu(); QuanJu qj2=new QuanJu(); System.out.println("-----------------"); System.out.println("实例成员变量=="+qj.str1);//fxt qj.str1="ch"; System.out.println("实例成员变量=="+qj.str1);//ch //证明实例对象在对象之间不能共享数据 //qj2对象得不到了更改后的值 System.out.println("实例成员变量=="+qj2.str1);//fxt System.out.println("-----------------"); //创建StaticChengYuan类对象 StaticChengYuan scy=new StaticChengYuan(); StaticChengYuan scy2=new StaticChengYuan(); System.out.println("静态成员变量=="+scy.adress); scy.adress="北京"; System.out.println("静态成员变量=="+scy.adress); //scy2对象中得到了更改后的值 System.out.println("静态成员变量=="+scy2.adress); System.out.println("-----------------"); } }
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/79845.html