快捷搜索:  汽车  科技

java从入门到精通之面向对象(全网最完整的免费java教程讲义系列)

java从入门到精通之面向对象(全网最完整的免费java教程讲义系列)请在IDEA的Sportman.java和Test.java文件中,根据下述代码做出相应修改:需要翻看前面内容的,可以点击下面的链接:面向对象的封装、继承和多态三大特征中,封装是后两者的基础。封装是隐藏类中的某些细节和信息,通过提供方法对这部分信息进行访问和操作。本次的课程,我们将从头开始,循序渐进,先来介绍Java面向对象——封装部分的知识。

老K的Java基础课程又更新啦!!!

java从入门到精通之面向对象(全网最完整的免费java教程讲义系列)(1)

上一期的课程内容,我们讲到了Java基础知识面向对象中的

有了的知识作为基础,我们今天就要来介绍面向对象的一些特性了。

我们都知道,Java面向对象编程有三大特性:

  • 继承
  • 封装
  • 多态

面向对象的封装继承多态三大特征中,封装是后两者的基础

封装是隐藏类中的某些细节和信息,通过提供方法对这部分信息进行访问和操作。

本次的课程,我们将从头开始,循序渐进,先来介绍Java面向对象——封装部分的知识。

需要翻看前面内容的,可以点击下面的链接:

  1. 老K玩代码:全网最完整的免费java教程讲义系列(一)——java配置和安装
  2. 老K玩代码:全网最完整的免费java教程讲义系列(二)——java数据和变量
  3. 老K玩代码:全网最完整的免费java教程讲义系列(三)——java的运算符
  4. 老K玩代码:全网最完整的免费java教程讲义系列(四)——java的流程控制
  5. 老K玩代码:全网最完整的免费java教程讲义系列(五)——java数组详解
  6. 老K玩代码:全网最完整的免费java教程讲义系列(六)——java方法详解
  7. 老K玩代码:全网最完整的免费java教程讲义系列(七)——面向对象.类

java从入门到精通之面向对象(全网最完整的免费java教程讲义系列)(2)


一、实现方法
  1. 以private作为属性的访问修饰符。
  2. 创建公有(public)的getter/setter方法。
  3. 在方法中加入控制语句。

二、示例代码

请在IDEA的Sportman.java和Test.java文件中,根据下述代码做出相应修改:

Sportman.java

public class Sportman { // 对象属性声明 // 1. age的访问权限设为private String name; private int age; int height; float weight; String event; public Sportman(String name int age int height float weight String event) { this.name = name; // 使用setAge为属性age赋值 this.setAge(age); this.height = height; this.weight = weight; this.event = event; System.out.println("构造方法提示:" this.event "运动员" this.name "生成成功。"); } // 2. 设置age的setter方法 public void setAge(int age) { // 3. 方法中的控制语句 if (age >= 14) { this.age = age; } } // 2. 设置age的getter方法 public int getAge() { // 3. 方法中的控制语句 return this.age; } }

Test.java

public class Test { public static void main(String[] args) { Sportman yaoming = new Sportman(); yaoming.name = "姚明"; yaoming.setAge(42); // 使用age的setter方法给属性赋值 yaoming.height = 226; yaoming.weight = 140.6f; yaoming.event = "篮球"; // 使用age的getter方法获取属性 System.out.println(yaoming.name "是一名" yaoming.event "运动员,身高" yaoming.height "公分 体重" yaoming.weight "公斤 今年" yaoming.getAge() "岁。"); yaoming.train(); } }

  • 上例中,给age设置了必须大于14的控制逻辑,大家可以在Test里尝试更改不同的年龄,查看效果。
  • 执行代码的时候,注意一下单行中的注释行,以便更好地理解项目和代码。
  • 另外,IDEA也为大家提供了自动设置getter/setter的方法,操作如下:光标移动到在需要插入getter/setter方法的位置,输入Alt Insert,在弹出的界面中点选Getter、Setter或Getter and Setter选项,选择相应的模板和参数,就能批量自动生成getter/setter方法函数了。

java从入门到精通之面向对象(全网最完整的免费java教程讲义系列)(3)

菜单


三、package/包

包是用来管理同类型java文件的集合,解决同名文件冲突的问题,基本语法是package包名。

  • Java中,一个包下面不能有相同名称的类文件。
  • 包的命名建议:域名的倒置 功能模块名,如:com.zhihu.question.annoncement。
  • java文件第一行用来定义包名,如:package com.zhihu.question.annoncement。
  • 导入包的语法为import 包名 ,这里的包名可以是具体的包名,也可以用路径.*的方式匹配该路径下的所有子一级java文件,如:com.zhihu.question.annoncement.*。

四、static关键字

添加了static修饰词的属性和方法,其执行的代码对该类的全体实例都生效。

修改一个实例下的static属性,会立即对其它实例生效,因为所有实例的static属性都共用共享同一块内存空间。

示例:

请在IDEA中创建下述文件并复制相应代码,执行并查看结果。

Sportman.java

public class Sportman { // 对象属性声明 String name; int age; int height; float weight; static String event; //带参构造方法 public Sportman(String name int age int height float weight String event) { this.name = name; this.age = age; this.height = height; this.weight = weight; this.event = event; } }

Test.java

public class Test { public static void main(String[] args) { // 通过无参构造方法实例化对象 Sportman yaoming = new Sportman("姚明" 42 226 140.6f "篮球"); // 调用对象属性和方法 System.out.println(yaoming.name "从事的体育项目是" yaoming.event); System.out.println("==========================="); // 通过带参构造方法实例化对象 Sportman liuxiang = new Sportman("刘翔" 1 1 87f "跨栏"); // 调用对象属性和方法 System.out.println(liuxiang.name "从事的体育项目是" liuxiang.event); System.out.println("与此同时,由于event是static静态属性,所有sportman公用一个event,所以设置刘翔的体育项目,其实就是改动公用的那个event"); System.out.println("由于公用的唯一event值变更,此时" yaoming.name "的体育项目也成为了" yaoming.event); } }

情形

名称

调用方法

示例

static加在属性前

类属性/静态属性

类名.属性

Sportman.name

static加在方法前

类方法/静态方法

类名.方法名()

Sportman.run()

  • 其实类方法/属性也可以通过实例进行访问和调用,但java规范并不推荐这种操作方式。
  • 静态方法中不能调用非静态方法和this关键字。
  • static定义的类属性/静态属性公用同一个内存空间,这个概念比较抽象,但十分重要,请务必深刻领会,建议不懂的地方可以查阅资料(static_百度百科)或者直接咨询我(全网同名:老K玩代码)。

以上就是Java面向对象——封装部分的内容,有关Java的学习教程我会持续更新。

如果你正在学习Java,希望了解更多关于Java或其他编程语言的内容,可以关注我或者收藏这篇文章。

除了老K分享的课程之外,想自学Java的小伙伴,也可以看看以下两本有关Java编程的书籍。

第一本《On Java》是Java编程的圣经。书的内容详实,循序渐进。基础卷适合初学者,上手容易;进阶卷适合想要精进Java编程技术的朋友。

第二本Java面向对象编程是针对近期分享的Java面向对象的内容,有基础知识的介绍,也会结合实例,更方便理解。

  • 《On Java》,豆瓣读书评分:9.0 ★★★★★

作者 Bruce Eckel是在硅谷成名已久的大牛,其早年的《Java 编程思想》可谓是Java编程圣经。如今的这部书亦是他呕心沥血之作,增加了很多近期java版本的特性,更适合当下。全书两册,分为基础卷和进阶卷。基础卷对新手友好,循序渐进;进阶卷内容详实、步步为营。

java从入门到精通之面向对象(全网最完整的免费java教程讲义系列)(4)

  • Java面向对象编程》,豆瓣读书评分:7.7 ★★★★

关于Java面向对象的部分,我推荐的书目是孙卫琴的《Java面向对象编程》一书。本书深入浅出,结合实例,在大量典型案例中讲解Java面向对象相关的知识。推荐重点第一章,面向对象的基础知识在这本书里讲得非常清晰。

java从入门到精通之面向对象(全网最完整的免费java教程讲义系列)(5)


结束语

我是专注于开发领域的@老K玩代码,会持续生产关于如何学习编程语言的优质内容。

如果你想学习编程,或者想精进你的编程能力,可以关注我。

如果你对开发、编程有任何疑问或有想了解的内容,而我暂时没有写到的,也欢迎随时来找我聊聊。

java从入门到精通之面向对象(全网最完整的免费java教程讲义系列)(6)

#头条创作挑战赛#

猜您喜欢: