java面向对象编程(三)--类变量、类方法

1.什么是类变量?

类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它时,取到的都是相同的值,同样任何一个该类的对象去修改它时,修改的也是同一个变量。

如何定义类变量?

定义语法:

    访问修饰符 static 数据类型 变量名;

如何访问类变量?

    类名.类变量名 或者 对象名.类变量名

案例:有一群小孩玩堆雪人,不时有新的小朋友加入,请问如何知道现在共有多少人在玩?请使用面向对象的思想,编写程序解决。

public class Demo113{
    public static void main(String []args){
    /*非面向对象方法
         int total=0;
        Child ch1=new Child(3,"妞妞");
        ch1.joinGame();
        total++;
        Child ch2=new Child(4,"小小");
        ch2.joinGame();
        total++;
    */
       //面向对象办法
         Child ch1=new Child(3,"小龙");
        ch1.joinGame();
        Child ch2=new Child(4,"刚子");
        ch2.joinGame();
        Child ch3=new Child(5,"康康");
        ch3.joinGame();
        System.out.println("共有="+Child.total);
    }
}

//定义小孩类
class Child{
    int age;
    String name;
    //total是静态变量,因此它可以被任何一个对象访问
    static int total=0;
    public Child(int age,String name){
        this.age=age;
        this.name=name;
    }
    public void joinGame(){
        total++;
        System.out.println("有一个小孩加入了");
    }
}

2.什么是类方法,为什么有类方法?

类方法是属于所有对象实例的,其形式如下:

访问修饰符 static 数据返回类型 方法名(){}

注意:类方法中不能访问非静态变量(类变量)。

使用:

类名.类方法名 或者 对象名.类方法名

static静态的方法可以访问static静态变量,不能访问非静态变量(类变量),非静态方法可以访问非静态变量(类变量),同时也可以访问static静态变量。

案例:统计总学费的程序代码,加深static静态的方法由静态变量的访问[Demo115.java]

public class Demo115{
    public static void main(String []args){
        //创建一个学生
        Stu stu1=new Stu(29,"aa",340);
        Stu stu2=new Stu(29,"aa",240);
        System.out.println(Stu.getTotalFee());
    }
}

//学生类
class Stu{
    int age;
    String name;
    int fee;
    static int totalFee;
    public Stu(int age,String name,int fee){
        this.age=age;
        this.name=name;
        totalFee+=fee;
    }
    //返回总学费[这是一个类方法(静态方法)]
    //java中规则:类变量原则上用类方法去访问或操作
    public static int getTotalFee(){
        return totalFee;
    }
}

3.其他问题

1、什么时候需要用类变量

如案例[Demo115.java]:定义学生类,统计学生共交多少钱?用类变量,表示公共的属性

2、类变量与成员变量区别:

a.加上static称为类变量或静态变量,否则称为成员变量

b.类变量是与类相关的,属于公共的属性

c.成员变量属于每个对象个体的属性

d.类变量可以通过 [类名.类变量名] 直接访问

3、什么时候需要用类方法

如案例[Demo115.java]:定义学生类,统计学生共交多少钱?

4、类方法与类变量区别:

a.类方法属于与类相关的,属于公共的方法

b.成员方法属于每个对象个体的方法

c.类方法可以通过 [类名.类方法名] 直接访问

java面向对象编程(三)--类变量、类方法

时间: 2024-10-16 08:28:28

java面向对象编程(三)--类变量、类方法的相关文章

java面向对象编程(三)--this

看一段代码:(Demo112.java),先了解为什么要使用this. /* this的必要性 */ public class Demo112{ public static void main(String []args){ Dog dog1=new Dog(2,"大黄"); Person p1=new Person(dog1,23,"刚子"); Person p2=new Person(dog1,24,"小龙"); p1.showInfo();

java面向对象编程知识点总结

一:今天完成 上午详细了解了java面向对象编程的一些细节,记录如下. 1)类 是一种引用类型,包含一个签名和一个主体,主体是放在花括号里面的成员,成员包括字段和方法,还有构造方法.初始化程序和嵌套类型. 常用成员有四种:类字段.类方法.实例字段.实力方法. 其它引用类型还包括数组.接口.枚举和注解. 2)字段和方法 示例:一个简单的类和成员 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 public class Circle{

黑马程序员-Java面向对象编程学习总结

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ------- Java面向对象编程学习总结: 重要知识点总结如下: 1,抽象,封装,继承,多态是面向对象程序设计中得四个特点. 2,面向对象得软件开发大体分为:面向对象的分析,面向对象的设计,面向对象的实现. 可概括为如下过程:分析用户需求,从问题中抽

Java面向对象编程(一)

由于常常将Java和C++面向对象编程的原则搞乱,所以这次把相关要点分别总结一下,本文主要总结Java面向对象编程. 面向对象编程的三大特性是:继承性(inheritance), 多态性(polymorphism)和封装性(encapsulation). 一. 继承性 [类修饰词列表] class 类名 [extends 父类名] [implements 借口列表名] { 类体 } class Employee { public int workYear; public Employee() {

java面向对象编程(1)-类与对象

1.问题的提出      张老太养了两只猫猫:一只名字叫小白,今年3岁,白色.还有一只叫小花,今年100岁,花色.请编写一个程序,当用户输入小猫的名字时,就显示该猫的名字,年龄,颜色.如果用户输入的小猫名错误,则显示张老太没有这只猫. //用前面学习过的知识写出代码如下: public class Demo107{ public static void main(String []args){ int a=49;//输入的名字49,50 int cat1age=3; //第一只猫 String

JAVA面向对象编程课程设计——多人扫雷对战

一.团队课程设计博客链接 JAVA面向对象编程课程设计--多人扫雷对战 二.个人负责模块和任务说明 负责服务器和客户端信息传输 用DAO模式对MySQL进行操作 在客户端将信息在各个界面间传输 三.自己的代码提交记录截图 四.自己负责模块或任务详细说明 客户端登陆.注册.设置信息时和服务器的数据交互: 获取游戏操作信息,将玩家的游戏操作传到游戏界面以便于GUI显示: 客户端接收到消息时将消息传到相应界面以便于GUI的实时显示: 主要代码 服务器接收并转发信息 客户端接收并与界面传送信息 数据库D

Java面向对象编程三大特征 - 封装

Java面向对象编程三大特征 - 封装 本文关键字:Java.面向对象.三大特征.封装封装是面向对象编程中的三大特征之一,在对封装性进行解释时我们有必要先了解一些面向对象的思想,以及相关的概念.当我们想要去描述一系列的关系时我们要用到的最基本结构就是类,其中存在着成员变量和方法,用于记录属性和表达行为,相关知识请进传送门:Java中的基本操作单元 - 类和对象. 一.名词解读 为了解释封装的概念和作用,需要先来了解一下几个相关的概念,这有助于我们接下来的理解. 1. 权限修饰符 当我们在一个类中

Java面向对象编程三大特征 - 多态

Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向子类对象的相关概念,对继承还没有完全明白的同学可进传送门:Java面向对象编程三大特征 - 继承. 一.抽象类 在继承中,我们已经了解了子父类的关系以及如何对子父类进行设计,如果已经存在多个实体类,再去定义父类其实是不断的抽取公共重合部分的过程,如果有需要将会产生多重继承关系.在抽取整理的过程中,除了

《Java面向对象编程第二版》今年出版以来获得读者一致好评。

<Java面向对象编程第一版>自2016年出版以来,承蒙读者们的厚爱,至今已经重印了二十多次,成为国内Java领域里的经典Java技术宝典.在当当网上获得了1500多条好评: http://product.dangdang.com/9186890.html?point=comment_point 应广大读者的要求,为第一版进行了升级,第二版融合了最新的Java8的语言特性,它继续为Java开发人员们提供丰富全面的技术支持和帮助.在京东网上读者们对第二版的好评如潮,一致认为这是Java开发人员必