JAVA学习之路 (五) 类

发布时间:2019-11-19 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了JAVA学习之路 (五) 类脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

java类的学习

先上一个代码

package bankCard; import java.util.Scanner;  // 银行卡类 public class bankCard {     // 静态变量     static String host = "www.gcsn.site";     // 成员变量     private static int ID; // 账号     private double blance; // 余额          // 构造函数     public bankCard() {         // 无参构造函数     }     public bankCard(int id, double money) {         //有参构造函数         ID = id;         blance = money;     }          // 成员函数(共有) / 成员方法     public double intId() {         // 存钱         System.out.println("请输入您要存的钱数,只能是整钱");         Scanner write_in = new Scanner(System.in);         // 局部变量         double money = write_in.nextInt();         this.blance +=money;         System.out.println("您的ID卡号为"+ID+"的账户存入"+money+"元余额为"+blance);                  return blance;     }     // 成员函数(共有)     public double outId() {         // 取钱         System.out.println("请输入您要取出的钱数,只能是整钱");         Scanner write_in = new Scanner(System.in);         double money = write_in.nextInt();         if(money > blance) {             System.out.println("您的余额不足!当前余额为"+blance);         }else {             this.blance -=money;             System.out.println("您的ID卡号为"+ID+"的账户取出"+money+"元,剩余余额为"+blance);         }                  return blance;     }          public static void main(String [] args) {         // 推荐使用类来访问         System.out.println("static-----" +bankCard.host);         System.out.println("static-----" +host); // 静态成员函数可以直接访问静态变量         bankCard b1 = new bankCard(1234, 2000.00);         b1.intId();         b1.outId();     } } 

成员变量和局部变量

JAVA学习之路 (五) 类

JAVA学习之路 (五) 类

成员变量和局部变量的区别

  • 作用域不同
局部变量只能在定义它的方法内使用。 成员变量则是可以在整个类内都可以使用。
  • 初始值不同
java会给成员变量一个初始值, java不会给局部变量一个初始值(必须自己初始化)。
  • 两类变量同名时,局部变量具有更高的优先级

构造方法

VAR car = new Car();  // 通常我们都会new 实例化一个对象,其实new后面跟的就是构造方法
使用new + 构造方法 来实例化一个新的对象。 构造方法是定义在类中的,用来初始化一个对象。 构造方法必须于类名相同,且没有返回值。  当没有构造方法时,系统会自动添加一个无参的构造方法; 如果自定义了一个构造方法,那么系统将不会为我们创建无参的构造方法了,也就无法调用无参的构造方法。  构造方法的重载: 方法名相同,但是参数不同的多个方法,调用的时候会根据不同的参数来选择相应的构造函数。

JAVA学习之路 (五) 类

类的成员方法

1 类的成员方法的定义

JAVA学习之路 (五) 类

Java 中的 static 使用之【静态变量】

我们可以基于一个类创建多个该类的对象,每个对象都拥有自己的成员,互相独立。然而在某些时候,我们更希望【该类所有的对象共享同一个成员】。此时就是 static 大显身手的时候了!!

Java 中被 static 修饰的成员称为【静态成员或类成员】。它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。当然,鉴于他作用的特殊性更推荐用类名访问~~

  • 静态成员属于整个类,当系统第一次使用该类时,就会为其分配内存空间直到该类被卸载才会进行资回收!~~
public class HelloWorld {          // 定义静态变量,保存班级名称     static String host = "www.gcsn.site";      public static void main(String[] args) {         HelloWorld.host = 'www.baidu.COM';         // 访问静态变量,输出班级名称         System.out.println("static-----" +HelloWorld.host);     } }

JAVA学习之路 (五) 类

Java 中的 static 使用之【静态方法】

与静态变量一样,我们也可以使用 static 修饰方法,称为【静态方法或类方法】。其实之前我们一直写的 main 方法就是静态方法。

JAVA学习之路 (五) 类

1. 静态方法可以直接调用静态变量,但是不能直接调用非静态变量

JAVA学习之路 (五) 类

如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。如

JAVA学习之路 (五) 类

2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,

JAVA学习之路 (五) 类

3、 静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。

JAVA学习之路 (五) 类

总结

静态方法: 能够直接调用静态成员,不可以直接调用非静态成员, 不能够直接调用非静态方法
普通方法, 既可以直接访问静态变量又可以访问非静态变量

Java 中的初始化块和静态初始化块

JAVA学习之路 (五) 类

如果使用 static 修饰初始化块,就称为静态初始化块。

静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。
  • 来看一个例子

JAVA学习之路 (五) 类

JAVA学习之路 (五) 类

脚本宝典总结

以上是脚本宝典为你收集整理的JAVA学习之路 (五) 类全部内容,希望文章能够帮你解决JAVA学习之路 (五) 类所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。