通过在优锐课的java学习分享中,get很多学习新技能,分享给大家参考学习。

介绍

在阅读此分步指南之前,你可能需要关注面向对象编程的介绍。 以下步骤中包含的Java代码与该文章理论中使用的Book对象的示例相匹配。

到本指南结束时,你将学习如何:

  • ·设计对象
  • ·将数据存储在对象中
  • ·处理对象中的数据
  • ·创建对象的新实例

类文件

如果你不熟悉对象,则很可能会习惯于仅使用一个文件(Java主类文件)来创建Java程序。 该类具有为Java程序的起点定义的main方法。

下一步中的类定义需要保存在单独的文件中。 它遵循与主类文件相同的命名准则(即,文件名必须与文件名扩展名为.java的类名匹配)。 例如,当我们制作Book类时,以下类声明应保存在名为“ Book.java”的文件中。

02

of 07

阶级宣言

通过创建类来指定对象保存的数据以及如何处理该数据。 例如,以下是Book对象的类的非常基本的定义:

public class Book {
 
 
 }

值得花点时间来分解上面的类声明。 第一行包含两个Java关键字“ public”和“ class”:

  • ·public关键字称为访问修饰符。 它控制Java程序的哪些部分可以访问你的类。 实际上,对于顶级类(即未包含在另一个类中的类),例如我们的书本对象,它们必须是公共可访问的。
  • ·class关键字用于声明大括号内的所有内容都是我们类定义的一部分。 它也直接跟在类的名称之后。

03

of 07

领域

字段用于存储对象的数据,并结合起来构成对象的状态。 当我们制作Book对象时,保存有关书名,作者和出版商的数据将是有意义的:

 public class Book {

     //fields
private String title;
private String author;
private String publisher;
}

字段只是具有一个重要限制的普通变量-它们必须使用访问修饰符“ private”。 private关键字意味着只能从定义它们的类内部访问这些变量。

注意:Java编译器没有强制执行此限制。 你可以在类定义中创建一个公共变量,而Java语言不会抱怨它。 但是,你将打破面向对象编程的基本原理之一-数据封装。 你只能通过对象的行为来访问它们的状态。 或者用实际的话来说,只能通过类方法访问你的类字段。 由你决定对创建的对象实施数据封装

04

of 07

构造方法

大多数类都有构造函数方法。 这是在首次创建对象时调用的方法,可用于设置其初始状态:

  public class Book {

     //fields
private String title;
private String author;
private String publisher; //constructor method
public Book(String bookTitle, String authorName, String publisherName)
{
//populate the fields
title = bookTitle;
author = authorName;
publisher = publisherName;
}
}

构造函数方法使用与类(即Book)相同的名称,并且需要公开访问。 它获取传递给它的变量的值并设置类字段的值。 从而将对象设置为其初始状态。

05

of 07

新增方法

行为是对象可以执行的动作,并被编写为方法。 目前,我们有一个可以初始化但没有做太多其他事情的类。 让我们添加一个名为“ displayBookData”的方法,该方法将显示对象中保存的当前数据:

  public class Book {

     //fields
private String title;
private String author;
private String publisher; //constructor method
public Book(String bookTitle, String authorName, String publisherName)
{
//populate the fields
title = bookTitle;
author = authorName;
publisher = publisherName;
} public void displayBookData()
{
System.out.println("Title: " + title);
System.out.println("Author: " + author);
System.out.println("Publisher: " + publisher);
}
}

displayBookData方法所做的全部工作是将每个类字段打印到屏幕上。

我们可以根据需要添加任意数量的方法和字段,但现在让我们考虑Book类是否完整。 它具有三个字段来保存有关书籍的数据,可以对其进行初始化并显示其中包含的数据。

of 07

创建对象的实例

要创建Book对象的实例,我们需要一个地方来创建它。 制作一个新的Java主类,如下所示(将其保存为BookTracker.java与Book.java文件位于同一目录中):

  public class BookTracker {

     public static void main(String[] args) {

     }
}

要创建Book对象的实例,我们使用“ new”关键字,如下所示:

  public class BookTracker {

     public static void main(String[] args) {

       Book firstBook = new Book("Horton Hears A Who!","Dr. Seuss","Random House");
}
}

等号的左侧是对象声明。 就是说我想制作一个Book对象并将其称为“ firstBook”。 等号的右侧是Book对象的新实例的创建。 它要做的是转到Book类定义,然后在构造方法中运行代码。 因此,将创建书名对象的新实例,并将标题,作者和发行者字段分别设置为“霍顿听见某人!”,“苏斯博士”和“随机屋”。 最后,等号将我们的新firstBook对象设置为Book类的新实例。

现在,让我们在firstBook中显示数据,以证明我们确实创建了一个新的Book对象。 我们要做的就是调用对象的

  public class BookTracker {

     public static void main(String[] args) {

       Book firstBook = new Book("Horton Hears A Who!","Dr. Seuss","Random House");
firstBook.displayBookData();
}
}

07

of 07

多个物件

现在我们可以开始看到物体的力量了。 我可以扩展程序:

  public class BookTracker {

     public static void main(String[] args) {

       Book firstBook = new Book("Horton Hears A Who!","Dr. Seuss","Random House");
Book secondBook = new Book("The Cat In The Hat","Dr. Seuss","Random House");
Book anotherBook = new Book("The Maltese Falcon","Dashiell Hammett","Orion");
firstBook.displayBookData();
anotherBook.displayBookData();
secondBook.displayBookData();
}
}

通过编写一个类定义,我们现在可以根据需要创建尽可能多的Book对象!

> 喜欢这篇文章的可以点个赞,欢迎大家留言评论,记得关注我,每天持续更新技术干货、职场趣事、海量面试资料等等
 > 如果你对java技术很感兴趣也可以交流学习,共同学习进步。 
> 不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代

文章写道这里,欢迎完善交流。最后奉上近期整理出来的一套完整的java架构思维导图,分享给大家对照知识点参考学习。有更多JVM、Mysql、Tomcat、Spring Boot、Spring Cloud、Zookeeper、Kafka、RabbitMQ、RockerMQ、Redis、ELK、Git等Java干货

最新文章

  1. 多种方法实现Loading(加载)动画效果
  2. 1Z0-053 争议题目解析694
  3. 初学者在ubuntu下安装使用git(上)
  4. (1)第一个ASP.NET Web API
  5. SpringMVC+Apache Shiro+JPA(hibernate)
  6. SQL一列多行字符串分组合并
  7. js 跨域访问
  8. asp.net MVC过滤器的用法(转)
  9. 在STEP7 TIA PORTAL中,设置模块的地址和设备名(Device name)
  10. Lenghth of Last Word
  11. 详解MongoDB中的多表关联查询($lookup)
  12. HDU 1754 线段树入门解题报告
  13. 新建SpringBoot项目运行页面报错Whitelabel Error Page This application has no explicit mapping for /error, so yo
  14. [转]小程序web-view组件
  15. 【struts2】继承ActionSupport类
  16. 循环遍历li并获取其自定义属性的方法
  17. EMC测试
  18. pta 习题集5-17 家谱处理
  19. [心平气和读经典]The TCP/IP Guide(002)
  20. pro9笔记

热门文章

  1. web通信类几个相关知识
  2. [C/C++]const限定符总结
  3. python学习(4)循环语句
  4. Python 协程 - Coroutines
  5. javascirpt获取随机数
  6. java String hashCode遇到的坑
  7. MySQL常用语法总结
  8. C语言程序转汇编代码
  9. mysql简单备份与恢复
  10. 软链接和硬链接——Linux中的文件共享