找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[ JAVA初中级开发 ] [守望者 java初中级视频]03_java面向对象

2014-08-19 09:54| 发布者: zhouy | 查看: 3482 | 收藏

摘要: 内容简介:学习java面向对象的基础,继承,接口等等知识点,最后深入的介绍java面向对象的三大特性,继承,多态,封装。通过实例验证面向对象的一些细节问题。 ... ... ... ... ...

1.面向对象:


c语言是面向过程的语言,关心具体的函数实现,java不是不关心具体函数的实现,而是在这个基础上做了一个抽象(改进),首先认为所有的方法(行为)是属于某个对象.那么面向对象首先思考的是对象和对象之间的关系,当我们思考清楚过后,我们才考虑具体的代码逻辑,也就是我们常说的过程,面向对象首先关心的是对象是否有某种行为和属性,而最后在关心函数(行为的)实现.

 

2.类和对象


访问修饰符   class  类名{

  //属性

  //方法(函数,行为)

}

:代表的是一个类型的数据,是一个抽象的概念,是不能直接使用的.要使用类的属性和方法,必须通过类的实例对象(实实在在的具体的某一个对象)

对象的创建: new关键字来完成的.

1)类的属性如果没有手动的初始化  最基本数据类型数据值0,引用类型null  包括字符串,也是null.

2)我们的类是抽象的  必须通过具体的实例对象来调用

 

3.构造函数:


1)JDK为我们提供创建对象的一个方法().

2)格式访问修饰符    类名(参数列表){

       //具体的代码;

   }

//这里的参数列表可以不需要,如果没有呢  我们叫做默认的构造函数,如果有参数列表,是叫做有参构造函数.

3)假如我们不写默认的构造函数,JDK会为我们提供一个默认的实现,当我们写了一个有参构造函数,那么默认的构造函数就不能被调用,我们必须手动的写一个默认的构造函数.

4)构造函数的重构

  上面讨论的问题,其实就是构造函数的重构问题.

5)构造函数的调用,当我们调用默认构造函数或则有参构造函数的时候,只有一个构造函数被调用.

 

4.this指针


代表当前的对象(就是你目前调用的那个,谁去调用,谁就是当前对象)



5.GC:


java为我们提供的垃圾回收机制,不需要手动去管理内存的时候.Person  person=new Person(),person=null;GC帮我们清理掉内存中的对象.

Finalize():可以简单的理解成在垃圾回收(GC)清理对象前所调用的方法

System.gc()启动垃圾回收机制(GC),不一定能启动.我们可以简单的理解成报警,报警后,警察不一定来,怀疑你假报案.

 

6.参数传递方式:值传递.

 

C:值传递,地址传递

Java:值传递.   引用数据.Person  person=new Person(), person是应用类型?是引用类型 但是不是地址

Person   person:是句柄,可以简单的理解成new  Person()这个对象的名字或则别名.   C语言操作的是堆中Person这个实实在在的对象通过地址来找到person,  java通过句柄(名字)而不是真的对象地址.

注意:虽然引用传递属于值传递,但是也可以改变句柄的值

小结:1)java对象时放在JVM的堆空间中,简单理解就是内存的一块区域

2)java引用是放在栈上的.

3)我们使用对象时通过引用来使用,我们并没有实际的操作堆中数据  比如 Person   person=new Person();person=null;意思你就是不指向任何的对象,此     时我们是不能是用person对象的。因为引用已经指向null.等待垃圾回收没有指向的person对象.


7.static关键字


 1)static可以修饰属性和方法修饰属性叫做静态的属性,修饰方法叫做静态方法

 2)静态属性和方法可以直接用对象或者类名直接调用.

 3)static直接修饰作用域叫做静态块

 4)对于java类的加载方式来说,在类的加载过程中就已经存在静态的数据,也就是用static修饰的属性,方法,静态块,而对象只有在通过new  关键字创  建后才会存在.

 5)实例方法和实例属性只有创建对象后才可以使用,那么在静态方法中使用实例的东西(属性,方法,this)是不能编译通过。在静态方法中可以创建对象.


8.Main函数


Main函数是java程序执行的入口



9.继承:


 为模拟现实世界中,父子关系的一种对象之间的关系.java提   供了这种关系的一个抽象,这种描述的抽象叫做继承.

 Extends关键字来实现继承

 1).通过子类的对象访问父类的非私有数据(属性和方法)

 

10.抽象类


 1)Abstract 关键字来定义一个类,这样的类叫做抽象类

 2)通过abstract修饰方法,而没有方法体的方法我们叫做抽象方法.如果子类要实现抽象类,那么子类必须实现父类的抽象方法.

 3)抽象类是不能用new关键字创造对象.

 4)抽象函数中可以有实例的方法.抽象类中可以不要抽象方法,

 但是这样和普通类一样,无意义.


11.接口:


Interface关键字类定义,接口比抽象类更加的纯粹,只有抽象的函数声明,没有具体的代码

1)接口中不能有属性

2)一个类实现接口通过implements关键字来实现.

3)一个类要实现父类接口,必须在子类中实现父类的方法

4)接口不能通过new 关键字来创建对象

 

12.多态性:


同一种行为表现出不同表现方式,往往呢通过继承和接口来实现.

Java面向对象有三大特性:1)封装性  2)多态性   3)继承性

Extends:

Implements:

Java的继承是单继承

Java实现接口可以实现多个.子类要实现所有接口的方法

 

重写:子类可以重新定义父类的行为方法的具体逻辑(实现)

多态性:1)可以重写来表现出不同的表现方式(统一行为).

       2)动态绑定:a.可以通过父类的引用指向子类的对象

                  b .当子类实现了父类的方法,并且重写了此方法,那么父类的句柄(引用)调用此方法的时候,会调用子类的方法.假如没有重写父类的方法,会调用父类的方法.

 

小结:继承链:1)当创建子类对象的时候先去调用父类的构造函数,然后调用子类构造函数.

           2)抽象类可以有构造函数,但是不能创建对象

           3)Super关键字可以实现父类属性和构造函数的调用.

Interface1  extends   interface2?  这个问题留给大家   思考. 

 

 

13.Final关键字


Final可以修饰类,修饰方法,修饰变量

Final可以修饰类:类是不能被继承的.

Final修饰方法:方法是不会被重写的.

Final修饰变量的时候,变量是不能再被赋值,也就是说变量是只读的

 

14.访问修饰符

       

        Private   默认(friedly)    protected    public

 本类       Y              Y           Y               Y

 同包       N              Y           Y               Y

 子类       N              N           Y               Y

其他包非子类N              N            N               Y



java面向对象_01:


java面向对象_02:


java面向对象_03:

会员评论  

已有0参与评论

推荐阅读

[守望者   java初中级视频]22_javaNIO,AIO编程
[守望者 java初中级视频]22_javaNIO,
内容简介:本课程介绍阻塞,非阻塞,同步和异步的基本概念,介绍javaNIO,AIO
[守望者 算法视频]01_数据存储(链表与数组)
[守望者 算法视频]01_数据存储(链表与
本章重点介绍数据的在计算机的存储方式 :连续存储(数组)与链式存储,同时
[守望者   java初中级视频]00_java初中级课程学习导航
[守望者 java初中级视频]00_java初中
内容简介:全面贾少这套视频课程学习需要具备的理论基础,以及适合的学习人群
【守望者 linux项目】linux下的FTP服务器与客户端,作者 灯下野狐 ...
【守望者 linux项目】linux下的FTP服务
本项目是一个完整的FTP服务器及FTP客户端设计示例,对于需要学习网络编程项目
【守望者 游戏项目】基于cocos2d-x的跑酷游戏项目教程
【守望者 游戏项目】基于cocos2d-x的跑
Cocos2d-x跑酷游戏项目教程Cocos2d-x跑酷游戏项目教程cocos2d-x特性cocos2
【守望者 观点】智能路由和Wi-Fi探针是一对好基友
【守望者 观点】智能路由和Wi-Fi探针是
智能路由与Wifi探针可以收集用户行为,同时可以收集用户MAC地址,还可以跟踪
【守望者 linux项目】mini WEB服务器设计
【守望者 linux项目】mini WEB服务器设
以下是曾经Watchmen一个朋友学习网络编程时设计的一个简单的MiniWEB服务器。
[守望者 算法视频]08_数据查找_hash算法
[守望者 算法视频]08_数据查找_hash算
守望者:普通逐个查找O(n),组织方式可以无序的数组或者普通链表。已经排序的
[守望者 linux视频]01_开发工具与开发平台
[守望者 linux视频]01_开发工具与开发
本课主要介绍gcc,gdb等系列开发工具,开始编写程序之旅。要求理解Linux开发平
【解读】什么样性格的人会被夸性格好
【解读】什么样性格的人会被夸性格好
守望者:性格决定命令。好的性格意识着给别人面子,能接受别人装逼,而且以上

行业聚焦  面试交流  职位推荐  开发视频   技术交流  腾讯微博  新浪微博

友情链接:课课家教育  阿里云  鲜果  W3Cfuns前端网  中国企业家  环球企业家  投资界  传媒梦工场  MSN中文网  Android开发者社区  cnbeta  投资中国网  又拍云存储  美通说传播  IT茶馆  网商在线  商业评论网  TechOrange  IT时代周刊  3W创新传媒  开源中国社区  二维工坊  Iconfans  推酷  智能电视网  FreeBuf黑客与极客  财经网  DoNews  凤凰财经  新财富  eoe移动开发者社区  i黑马  网易科技  新浪科技  搜狐IT  创业家  创业邦  腾讯财经  福布斯中文网  天下网商  TechWeb  雷锋网  新浪创业  和讯科技  品途O2O  极客公园  艾瑞网  抽屉新热榜  卖家网  人民网通信频道  拉勾网  创新派  简单云主机  

手机版|黑名单|守望者在线 在线教育 linux 高级程序设计 C/C++ 大数据 ( 蜀ICP备14029946号

成都守望者科技有限公司 © 2013-2016 All Rights Reserved