文档章节

Java面向对象理论篇

乐搏学院
 乐搏学院
发布于 2017/05/24 12:01
字数 860
阅读 3
收藏 0
点赞 0
评论 0

面向对象:(学习王伟、传智等教程)

1.1)面向对象

面向对象是基于面向过程的编程思想

1.2)面向对象的思想特点

1.2.1)是一种更符合我们思考习惯的思想

1.2.2)把复杂的事情简单化

1.2.3)让我们从执行者变成了指挥者

2)类与对象

2.1)类(class)和对象(object)是面向对象方法的核心概念。类是对一类事物描述,是抽象的、概念上的定义;对象是实际存在的该类事物的每个个体,因而也称实例(instance)。 

2.2)Java语言中最基本的单位是类。所以,我们要用类来体现事物。

类:

成员变量    事物属性   属性:用来描述对象的数据元素称为对象的熟悉

成员方法    事物行为   方法:对对象的属性行为的操作成为对象的方法

类:是一组相关的属性和行为的集合。是一个抽象的概念。

对象:是该类事物的具体存在,是一个具体的实例。(对象)  

举例:学生:类  班长:对象

3、Java类的声明

语法格式:

[< modifiers>] class < class_name> {

 [<attribute_declarations>]

[<method_declarations>]

[<constructor_declarations>]

}

[<访问范围修饰>] class < 类名> {

 [<属性定义>]

[<方法定义>]

[<构造器定义>]

}

3.1)案例:

1

2

3

4

5

6

7

8

9

public class Student{

  //以下是属性定义

  String   name;

  int     age;

  //以下是方法定义

  voidgotoSchool(){

  System.out.println(“去上学”);

  }

}

 

4)属性的声明:

语法格式:

[< modifiers>]  type  < attr_name>  [=defaultValue] ; 

[< 访问范围修饰>]  类型  < 属性名> [=默认值] ;

4.1)案例:

1

2

3

4

5

6

7

8

9

10

11

public class Student{

  //以下是属性定义

  //定义年龄

  int   age;

  //定义姓名并初始化值

  String name = “LeBron  James”;  

  //定义班级名

  StringclassName= “一年三班”

  //定义学号

  StringstudentId;

}

5)方法的声明:

语法格式:

         [< modifiers>] <return_type> <name>([<type arg_name> , ..]) {

          [< statements>]

  } 

  [< 访问范围修饰>] <返回类型> <方法名>([<类型 参数名> , ..]) {

          [< 语句过程描述>]

  }

5.1)案例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

public class Student{

  //定义考试方法  

     //定义了一个参数是String类型,参数名是subject

  //定义了这个方法返回结果的类型是int型

  intexam(String subject){

  if(subject==“英语”){

  //返回具体的int值

  return

60;  

  }else{

  return

90;

  }

  }

  //定义唱歌方法

void表示这个方法没有返回结果

  void

sing(){

  System.out.println(“唱歌”);

  }

}

6)创建对象:

6.1)根据类来创建对象

Student student = new Student();

6.2)可以创建很多对象,对象都拥有自己独有的属性和方法

1

2

3

Student s1 = new Student();

Student s2 = new Student();

Student s3 = new Student();

6.3)调用对象的属性和方法

1

2

3

4

5

6

7

8

Student s1 = new Student();

s1.name=“angelababy”;

s1.age = 27 ;

s1.sing();

Student s2 = new Student();

s2.name=“黄晓明”;

s2.age = 39 ;

s2.exam(“数学”);

 

7)Java对象内存图

7.1)一个对象的内存图

wKioL1jHhPrgmN-YAAHovi71OrM913.png-wh_50

7.2)二个对象的内存图

wKioL1jHhQbTY1hJAAK_ikG8qhU988.png-wh_50

7.3)三个对象的内存图

wKiom1jHhRDyzUm7AAJgbIP8sgs100.png-wh_50

注意:Java垃圾回收器: GC

8)Java程序的开发,设计和特征

8.1)开发:就是不断的创建对象,通过对象调用功能

8.2)设计:就是管理和维护对象间的关系

8.3)特征

8.3.1)封装

8.3.2)继承

8.3.3)多态

登录乐搏学院官网http://www.learnbo.com/

或关注我们的官方微博微信,还有更多惊喜哦~

本文出自 “永不放弃!任志远” 博客,谢绝转载!

© 著作权归作者所有

共有 人打赏支持
乐搏学院
粉丝 6
博文 526
码字总数 707467
作品 0
丰台
程序员
【Java】疯狂Java基础(一)——面向对象的特征:继承、封装和多态

一、前言 小编记得,刚接触计算机相关的课程的时候,接触的是c++,c++的老师一上来就说c++是面向对象的,c语言是面向过程的。面向对象比面向过程厉害,是从面向过程发展过来的的。 当时有一个...

kisscatforever
03/28
0
0
Java开发学习之三版本简介 java编程

  Java编程语言,在更迭迅速的互联网领域多年屹立不倒,足以得见Java这门语言旺盛的生命力,因此,会有很多想要进入互联网领域的朋友,想要学Java来转行开发。但是,所谓“隔行如隔山”,j...

老男孩Linux培训
06/05
0
0
Java程序员必读书单,家族又添新成员

点击关注异步图书,置顶公众号 每天与你分享IT好书 技术干货 职场知识 参与文末话题讨论,每日赠送异步图书。 ——异步小编 有些革命出其不意地吸引了全世界的眼球。Twitter、Linux操作系统和...

异步社区
05/09
0
0
JAVA中关于set()和get()方法的理解及使用

对于JAVA初学者来说,set和get这两个方法似乎已经很熟悉了,这两个方法是JAVA变成中的基本用法,也是出现频率相当高的两个方法。 为了让JAVA初学者能更好的理解这两个方法的使用和意义,今天...

hosealee
2013/05/30
0
7
代码为什么那么乱! 换种方法学面向对象

点击关注 异步图书,置顶公众号 每天与你分享 IT好书 技术干货 职场知识 点击此处购书 参与文末话题讨论,每日赠送异步图书 ——异步小编 我们经常会为一个问题寻找多种不同的解决方案。当你...

异步社区
05/15
0
0
《成神之路-基础篇》JVM——垃圾回收(已完结)

Java内存模型,Java内存管理,Java堆和栈,垃圾回收 本文是[《成神之路系列文章》][1]的第一篇,主要是关于JVM的一些介绍。 持续更新中 Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收 ...

05/05
0
0
慕课分享:盘点2014年热门免费开发课程

这篇文章来自慕课网团队的分享,文章从前端开发、后端开发、移动开发和OS 四个方面,分享了2014年度的热门免费课程。 前端开发 《HTML+CSS基础课程》 这门课程从最基本的概念开始讲起,步步深...

2014/12/30
0
0
《Java从小白到大牛精简版》之第1章 开篇综述

Java诞生到现在已经有20多年了,但是Java仍然是非常热门的编程语言之一,很多平台中使用Java开发。表1-1所示的是TIOBE社区发布的2016年5月和2017年5月的编程语言排行榜,可见Java语言的热度,...

tony关东升
06/26
0
0
从Java小白到架构师必须要看的书籍,真正的“武林秘籍”!

少年,我看你骨骼精奇,将是未来万中无一的IT精英,很是适合学JAVA。维护世界和平就看你的了,我这里有能让你成为IT精英的办法!还不来看看! 基础类 1、《Thinking in Java》,入门第一位是...

启示录是真的
05/25
0
0
几周内搞定Java的10个方法

不要将Java与JavaScript弄混了,Java的目标是“一次编译,到处调试”(呃,不对,是“到处运行”)。简单来说,就是Java程序可以直接在任何设备上运行。 Java语言是什么? 不管我们是否意识到...

拉偶有所依
2015/03/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

SmartyGit安装及拉取rf代码

SmartyGit安装及拉取rf代码 一:生成ssh keys 下载安装包:Git Bash(Git-1.8.3-preview20130601.exe) 安装完成后打开Git Bash,安装流程如下: 在如下图位置找到Git Bash,运行Git Bash在其命...

舒文joven
5分钟前
0
0
Duang,HUAWEI DevEco IDE全面升级啦

想感受全新UI带来的视觉及交互体验、 HiKey970开发板调测、 HiAI API推荐和收藏、 深度AI模型分析等新功能, 体验高清晰度和流畅度的远程AI真机调测吗? 全新的UI设计 采用最优秀的视觉及交互...

华为终端开放实验室
7分钟前
0
0
阻止事件冒泡,阻止默认事件

1.event.stopPropagation()方法 这是阻止事件的冒泡方法,不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开, 2.event....

闫亚亚
9分钟前
0
0
网络监控工具类

package com.guorentong.learn.organ.utils;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.net.ConnectivityManage......

王先森oO
10分钟前
0
0
命令

sudo nginx -s reload 重启nginx sudo lsof -i -P | grep -i "listen" 查看端口占用

那个猴子
13分钟前
0
0
用scrapy-redis爬去新浪-以及把数据存储到

需求:爬取新浪网导航页(http://news.sina.com.cn/guide/)所有下所有大类、小类、小类里的子链接,以及子链接页面的新闻内容。 准备工作: a.安装redis(windows或者linux) b.安装Redis Des...

丁典
14分钟前
0
0
PHP常用函数篇

1.为什么要使用函数? 除了内建的PHP函数,我们可以创建我们自己的函数。 函数是可以在程序中重复使用的语句块。 使代码逻辑更清晰 避免过多的全局变量 封装后避免相同逻辑重复代码,只需调用...

天地有涯风有信_大海无量不见人
15分钟前
0
0
对List分组

在日常工作中会遇到这样的情景,我们需要对List按照List中对象的一个值进行分组。比如一个Human的List,我们要根据性别分组,传统的方法是做双层循环,逐个对比,今天我要介绍一种详单简单的...

珂jack
16分钟前
0
0
分析jquery ajax jsonpCallback回调函数名包含点号报错问题

现象 项目中涉及到跨域请求,采用jquery ajax jsonp来实现,但是遇到一个奇怪问题,在设置回调函数名称时,若包含点号,如“Callback.Success”,那么执行完成后,其error回调函数始终会被触...

iwaller
20分钟前
0
0
【Graphql实践】使用 Apollo(iOS) 访问 Github 的 Graphql API

最近在协助调研 Apollo 生成的代码是否有可能跨 Query 共享模型的问题,虽然初步结论是不能,并不是预期的结果,但是在调研过程中积累的一些经验,有必要记录下。如果你也对 Graphql 感兴趣,...

ios122
20分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部