【翻译】The Java Tutorial中的Class概念

简介:
原文链接地址:
原文:

What Is a Class?

A class is a blueprint or prototype from which objects are created. This section defines a class that models the state and behavior of a real-world object. It intentionally focuses on the basics, showing how even a simple class can cleanly model state and behavior.
 
什么是类?
       类是对象的蓝图或者原型。这一部分会详细说明类是怎样模拟现实世界中对象的状态和行为的。它是基础,它会告诉你就是一个简单的类也能很好地模拟对象的状态和行为。
        在现实世界中,你会发现很多独特的对象具有相同的种类。比如成千上万辆自行车,制作方法和模型都是相同的。每一个辆自行车都是从相同的设备和图纸中制造出来的,所以具有相同的组件。在面向对象的术语中,我们就说这辆自行车是自行车这个对象的中的一个实例。类就是对象的蓝图。
       下面给出自行车这个类的用法:
 
class Bicycle { 

              int cadence = 0; 
              int speed = 0; 
              int gear = 1; 

              void changeCadence( int newValue) { 
                        cadence = newValue; 
             } 

              void changeGear( int newValue) { 
                        gear = newValue; 
             } 

              void speedUp( int increment) { 
                        speed = speed + increment;        
             } 

              void applyBrakes( int decrement) { 
                        speed = speed - decrement; 
             } 

              void printStates() { 
                        System.out.println( "cadence:"+cadence+ " speed:"+speed+ " gear:"+gear); 
             } 


 
       上面的Java语法可能对于来说是很新鲜的,但是这个类的设计是基于前面所讨论的自行车对象。字段cadence,speed和gear都是对象的状态,方法changeCadence,changeGear,seepUp等等定义了与外界的交互。
 
        你可能注意到自行车类不包含main方法。这是因为上面的不是一个完整的应用程序,它仅仅是可能会在自行车对象中被使用的蓝图。它的功能是创建一个自行车的新对象,这个对象可以在其他的程序中使用。
 
       下面这个BicycleDemo类就是创建两个单独的自行车对象,还要调用它们的方法:

 
class BicycleDemo { 
     public  static  void main(String[] args) { 

                     // Create two different Bicycle objects 
                    Bicycle bike1 =  new Bicycle(); 
                    Bicycle bike2 =  new Bicycle(); 

                     // Invoke methods on those objects 
                    bike1.changeCadence(50); 
                    bike1.speedUp(10); 
                    bike1.changeGear(2); 
                    bike1.printStates(); 

                    bike2.changeCadence(50); 
                    bike2.speedUp(10); 
                    bike2.changeGear(2); 
                    bike2.changeCadence(40); 
                    bike2.speedUp(10); 
                    bike2.changeGear(3); 
                    bike2.printStates(); 
    } 


 
      其打印的结果是:
 cadence:50 speed:10 gear:2
 cadence:40 speed:20 gear:3
 









本文转自 sundunjam 51CTO博客,原文链接:http://blog.51cto.com/sunspot/132583,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
Java 编译器 Go
【Java】(5)方法的概念、方法的调用、方法重载、构造方法的创建
Java方法是语句的集合,它们在一起执行一个功能。方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用方法的优点使程序变得更简短而清晰。有利于程序维护。可以提高程序开发的效率。提高了代码的重用性。方法的名字的第一个单词应以小写字母作为开头,后面的单词则用大写字母开头写,不使用连接符。例如:addPerson。这种就属于驼峰写法下划线可能出现在 JUnit 测试方法名称中用以分隔名称的逻辑组件。
198 4
|
4月前
|
存储 缓存 NoSQL
java 集合入门基础理论的核心概念与实用长尾知识
本文介绍了Java集合框架的基础理论知识,包括单列集合(List、Set、Queue)和双列集合(Map)的特点及常用实现类(如ArrayList、HashSet、HashMap等)。详细讲解了集合的遍历方式(迭代器、增强for循环、Lambda表达式)和典型应用场景(如数据去重、键值存储等)。通过具体代码示例,帮助初学者理解集合框架的核心概念和实际应用,为Java编程中的数据存储与管理提供基础指导。
138 0
|
5月前
|
存储 安全 Java
2025 年最新 40 个 Java 基础核心知识点全面梳理一文掌握 Java 基础关键概念
本文系统梳理了Java编程的40个核心知识点,涵盖基础语法、面向对象、集合框架、异常处理、多线程、IO流、反射机制等关键领域。重点包括:JVM运行原理、基本数据类型、封装/继承/多态三大特性、集合类对比(ArrayList vs LinkedList、HashMap vs TreeMap)、异常分类及处理方式、线程创建与同步机制、IO流体系结构以及反射的应用场景。这些基础知识是Java开发的根基,掌握后能为后续框架学习和项目开发奠定坚实基础。文中还提供了代码资源获取方式,方便读者进一步实践学习。
1647 2
|
5月前
|
分布式计算 Java 大数据
Java 语言基础概念与常识之主要特点解析
Java是一种广泛应用于企业级开发、移动应用(如Android)、大数据处理及云计算等领域的编程语言。其核心特点包括跨平台性(一次编写,到处运行)、面向对象设计、自动垃圾回收、多线程支持和高性能表现。Java通过JVM实现跨平台,具备强大的健壮性和安全性,同时拥有丰富的标准库与活跃的开发者社区。本文深入解析Java的技术优势及其在电商系统、大数据处理和云计算中的实际应用,并提供相关面试资料供学习参考。
149 0
|
11月前
|
存储 Java 程序员
Java的基础概念一
### Java编程基础简介 #### 一、注释 注释用于解释代码,不会参与编译和运行。Java支持三种注释: - **单行注释**:以 `//` 开头。 - **多行注释**:以 `/* ... */` 包围。 - **文档注释**:通常用于生成开发文档。 #### 二、关键字 关键字是被Java赋予特定含义的英文单词,全部小写,且在代码编辑器中有特殊颜色标记。常用的如 `class` 表示定义一个类。
Java的基础概念一
|
10月前
|
缓存 Java 开发者
Java字面量详解:概念、分类与使用实例
本文介绍了Java字面量的概念、分类及应用。
436 11
|
10月前
|
Java 数据安全/隐私保护
Java的基础概念(二)
本文介绍了Java编程语言中的运算符和表达式,涵盖算术运算符、赋值运算符、关系运算符、逻辑运算符、三元运算符等。重点讲解了算术运算符的使用,如加减乘除取余,并强调了整数除法和取余的特殊性。同时,详细说明了隐式转换与强制转换的概念及应用场景,以及字符串和字符的拼接规则。通过多个案例演示了不同运算符的实际应用,包括数值拆分、自增自减、三元表达式的使用等。最后简要提及了运算符的优先级,指出小括号具有最高优先级。
|
Java 编译器 Maven
Java“class file contains wrong class”解决
当Java程序运行时出现“class file contains wrong class”错误,通常是因为类文件与预期的类名不匹配。解决方法包括:1. 确保类名和文件名一致;2. 清理并重新编译项目;3. 检查包声明是否正确。
355 3
|
算法 Java 数据库连接
Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性
本文详细介绍了Java连接池技术,从基础概念出发,解析了连接池的工作原理及其重要性。连接池通过复用数据库连接,显著提升了应用的性能和稳定性。文章还展示了使用HikariCP连接池的示例代码,帮助读者更好地理解和应用这一技术。
227 1
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
471 3