面向对象_使用static实现数羊

创建一个羊类,使用static实现数羊,记录一共创建了几只羊

public class oneHundredAndTwo {
    public static void main(String[] args) {
        Sheep p1 = new Sheep("喜洋洋");
        Sheep p2 = new Sheep("懒洋洋");
        Sheep p3 = new Sheep("美洋洋");

        System.out.println(Sheep.getCount());//获取羊的数量

    }
}
class Sheep{
    private String name;
    private static int count = 0;//计数器

    public Sheep(String name) {
        super();
        this.name = name;
        count++;//每创建一个对象都会从这里初始化,所以count在这里++就行了
    }

    //获取羊的数量
    public static int getCount(){
        return count;
    }
}
时间: 2024-08-07 18:27:58

面向对象_使用static实现数羊的相关文章

创建一个羊类,使用static实现数羊,记录一共创建了几只羊

public class Test { public static void main(String[] args) { // TODO Auto-generated method stub //创建一个羊类,使用static实现数羊,记录一共创建了几只羊. Sheep.getCount(); Sheep s1=new Sheep("喜羊羊"); Sheep.getCount(); Sheep s2=new Sheep("懒羊羊"); Sheep.getCount(

2019-05-15 Java学习日记之面向对象_构造方法&静态static

构造方法 构造方法constructor概述和格式: A:构造方法概述和作用 给对象的数据(属性)进行初始化 B:构造方法的格式特点 a:方法名与类名相同(大小也要与类名一致) b:没有返回值类型,连void都没有 c:没有具体的返回值return 注意事项: 1.构造方法不能用对象调用 2.构造方法也是有return语句的,格式是return 构造方法的重载和注意事项: 注意事项: a:如果我们没有给出构造方法,系统将自动提供一个无参构造方法 b:如果我们给出了构造方法,系统将不再提供默认的无

面向对象_封装

万物皆对象,对象因关注产生 类是模子,确定对象将会拥有的特征(属性)和行为(方法) 特点 1类是对象的类型 2具有相同属性和方法的一组对象的集合 属性:对象拥有的特征:值数据 方法:对象拥有的操作:功能 类是个抽象的概念 类是对象的抽取,对象是类的实例. 定义类 定义一个类的步骤 1.定义类名    public class 类名{ 2.编写类的属性 定义属性部分(成员变量) 属性1的类型 属性1: 属性你的类型 属性n: 定义方法部分 方法1: 方法m:     } 如何使用对象 使用对象的步

面向对象_继承

一.继承的基本概念: 1.继承是面向对象的三大特性之一  2.被继承的类称为父类(超类),继承父类的类称为子类(派生类)  3.继承是指一个对象直接使用另一个对象的属性和方法(继承之后才能使用) 4.通过继承可以实现代码重用 二.使用继承的要求 1.将每个类的共性提取出来单独放在一个类中来描述 2.然后让这个类与其他每个类之间有点关系这样就可以了 3.注意:千万不要为了获取其他类的功能,简化代码而继承 4.必须是类与类之间有所属关系才可以继承 5.例如:将学生和工人的共性(共同属性,共同方法)描

php面向对象编程笔记static的后期静态绑定

最近在看laravel的源码,开始的时候static关键字的用法让我读完一头雾水, static不应该是用来定义静态变量方法和属性的么? 在方法中 static::setInstance($this); 是什么? 查了手册才明白,这是static关键字的另一种用法,"后期静态绑定",也可以称为"静态绑定" http://php.net/manual/zh/language.oop5.late-static-bindings.php 官方的介绍: 该功能从语言内部角度

面向对象_多态_抽象类_接口

09.01_面向对象(多态的概述及其代码体现) A:多态(polymorphic)概述 事物存在的多种形态 B:多态前提 a:要有继承关系. b:要有方法重写. c:要有父类引用指向子类对象. C:案例演示 代码体现多态 public class Demo1_polymorphic { /** * 成员变量:编译时看左边(父类),运行时看左边(父类) * 成员方法:编译时看左边(父类),运行时看右边(子类) * @param args */ public static void main(Str

11_Java面向对象_第11天(接口、多态)

今日内容介绍1.接口2.多态 01接口的概念 * A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的 实现类(相当于接口的子类)来完成.这样将功能的定义与实现分离,优化了程序设计. 请记住:一切事物均有功能,即一切事物均有接口. 02接口的定义 A: 接口的定义 与定义类的class不同,接口定义时需要使用interface关键字. 定义接口所在的仍为.java文件,虽然声明时使用的为inter

面向对象编程(七)——Static关键字

Static变量 ◆在类中,用static声明的成员变量为静态变量,或者叫:类属性.类变量. (注意:静态变量是从属于类,在对象里面是没有这个属性的:成员变量是从属于对象的,有了对象才有那个属性) 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显示初始化. 对于该类所有对象来说,static成员变量只有一份.被该类的所有对象共享!! 可以使用“对象.类属性”来调用.不过,一般都是用"类名.类属性”. static变量置于方法区中. 在静态的方法里面不可以调用非静态的方法或变量:

J2SE之面向对象_重载_this_static_package_import_继承_访问控制

方法的重载 构造方法重载 对象的创建和使用 class Point { private double x; private double y; Point(double x1, double y1) { x = x1; y = y1; } public double getX() { return x; } public double getY() { return y; } public void setX(double i) { x = i; } public void setY(doubl