文档章节

Java面向对象理论篇

乐搏学院
 乐搏学院
发布于 2017/05/24 12:01
字数 860
阅读 3
收藏 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中关于set()和get()方法的理解及使用

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

hosealee
2013/05/30
0
7
Java程序员必读书单,家族又添新成员

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

异步社区
05/09
0
0
代码为什么那么乱! 换种方法学面向对象

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

异步社区
05/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

jQuery学习笔记180923

jQuery 操作 CSS jQuery 拥有若干进行 CSS 操作的方法。我们将学习下面这些: addClass() - 向被选元素添加一个或多个类 removeClass() - 从被选元素删除一个或多个类 toggleClass() - 对被选...

颖伙虫
19分钟前
0
0
[python] colorama 模块 - 改变控制台输出文本的颜色

除了使用 PyQt 这样的图形化开发框架外,基本上 python 程序都是跑在控制台中的。很多时候,单纯使用黑白的文字不能很好地突出我们要显示的信息。有时候我们需要将错误的提示使用红色标注,而...

cometeme
24分钟前
0
0
Makefile 学习 2 - 基于若干 Blog 的汇总

基于若干 Blog 汇总的 makefile 教程 陈皓 https://blog.csdn.net/haoel/article/details/2886 Makefile 进阶 1. Makefile 中的内容 显式规则。显式规则说明了,如何生成一个或多的的目标文件...

公孙衍
39分钟前
0
0
NIO与BIO的区别、NIO的运行原理和并发使用场景

NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的...

Java干货分享
57分钟前
1
0
72.告警系统邮件引擎 运行告警系统

20.23/20.24/20.25 告警系统邮件引擎 20.26 运行告警系统 20.23/20.24/20.25 告警系统邮件引擎 邮件首先要有一个mail.py,以下。 因为我们之前zabbix的时候做过,就可以直接拷贝过来 mail.s...

王鑫linux
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部