黑马程序员——Java基础---面向对象(一)

原创 2015年11月20日 17:41:17

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-

一.理解面向对象

1.面向对象是相对面向过程而言。
2.面向对象和面向过程都是一种思想,面向过程强调的是功能行为;二面向对象是基于面向过程的,它把面向过程中的具体功能单独封装成对象。
3.面向对象3大特征:封装、继承、多态
4.java中的类和对象:
类是对现实生活中事物的描述。
对象则是实实在在存在的个体,在java语言中,一个对象被创立将存在堆内存当中。
如:
class Car //定义一个汽车类
{
// 现实生活中汽车有颜色和价钱等属性
private String color ;
private int value;
Car(String color ,int value) // 如果对该类new一个对象,则可以根据现实实例中不同类型汽车有了具体颜色和具体价钱得属性 :Car c = new Car(yellow,100000);

{
this.color = color;
this value = value
}
}

二.封装特征小解

1.封装
概念:隐藏对象属性和实现细节,对外提供公共的访问方式。
好处:将变化隔离、便于使用、提高重用性、提高安全性
封装原则:将不需要的对外提供的内容隐藏起来、把属性隐藏提供公共访问方法。
2.封装实现方式
通过对应修饰符修饰成员变量或者成员方法方法即可完成成封装,常用的修饰符是private。假设一个类中某个方法不想被创建对象调用,直接加上private既可以达到目的。私有修饰只是封装的一种,还有其他封装方式。

三.理解构造函数

这里写图片描述
如:这里写图片描述
特别说明:如果类中没有自定义构造函数,则会默认的一个空参数构造函数,与非构造函数区别在于对象一旦建立,对应构造函数即被调用,不需另外调用,而且只运行一次,其他函数可以调用多次。
4.什么时候使用构造函数呢?
当分析事物时,该事物具备一定特性或者行为,那么将这些内容定义在构造函数里面,如果含有未知运算内容,则需定义相关参数以便构造函数接受。
5.构造函数之间怎么调用呢?
格式:this( ),且只能放在构造函数第一行。
6.构造代码块
格式:
{ 执行语句}
特点:给对象初始化使用,每个对象创建都会使用。

四.static修饰符小解

这里写图片描述

4.1.实例变量和类变量区别:

实例变量即是没有被static修饰的成员变量,二类变量则含有static修饰符。
存放位置:类变量随着类加载二存在方法区当中,实例变量随着对象建立而存在堆内存当中。
生命周期:类变量生命周期长,随着类消失而消失;实例变量生命周期随着对象消失而消失。

4.2.静态使用注意事项:

1.静态方法只能使用静态成员
2.非静态方法既可以调用实例变量也可以调用类变量。
3.静态方法不可以定义this,super关键字,因为静态优先对象存在。
所以静态有利有弊,好处就是对对象共享数据进行单独空间的存储,节省空间,可以变类名直接调用。不足之处是生命周期过长,访问出现局限性。
4.什么时候使用静态呢?
要从两方面入手,当对象出现共享数据时候使用静态变量,对象特有数据要定义成非静态以便存在堆内存。当功能内部没有访问到静态数据,即没有特有数据那么该函数成静态的。
5.静态的应用
每个函数有共性功能时,可以将这些功能进行抽取独立封装,以便复用。将方法静态后可以更方便使用,但是该类还是可以被其他程序建立对象,可以使用private私有化使得该类不能创立对象。大部分工具类都是这样的,创建工具类时为了方便使用需生成javadoc文档,以辅助别人知道该工具类实现什么功能。
6.创建javadoc文档。
1.根据个人实际需求,编写一个可以实现某个功能的类,类必需是public权限的。
2.类里面需要暴露的方法需要加上public修饰符,并且还需static修饰这样使用格式:类名.函数名即可实现调用。
3.对应要暴露功能添加详细注释,然后使用javadoc -d +”放置文档的路径”+“放置文档的文件夹“+”工具类”
7.静态代码块
格式:
static
{ 静态代码块要执行的语句}
特点随着类的加载只执行一次,用于给类初始化的。优于主函数执行。

五.解读主函数意义

public static void main(String[] args)
{ }//这是一个特殊函数,被jvm调用作为程序入口。
其中public:代表该函数访问权限最大。
static:代表主函数随着类加载就已经存在。
void:表面主函数没有具体返回值。
main:不是关键字,是一个可以被JVM识别的特殊单词。
(String[] args)函数的参数,参数类型是一个字符数组。
主函数格式是固定的。

Java--面向对象试题

package com.lovo; import java.text.DecimalFormat; import java.util.Calendar; /** * 时钟类 * @author...
  • hai5156
  • hai5156
  • 2014年10月23日 19:55
  • 149

java语言赛车小游戏 源代码

import java.applet.AudioClip; import java.awt.*; import java.awt.event.KeyEvent; import jav...

黑马程序员-Java基础总结04——面向对象

面向对象 ------- android培训、java培训、期待与您交流! ---------- 面向过程 :强调的是功能行为。 面向对象 :相对于面向过程而言,它将功能封装进对象,强调具...
  • zms2100
  • zms2100
  • 2014年04月13日 04:40
  • 453

黑马程序员——java基础之面向对象

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 面向对象 面向对象是相对面向过程而言的,面向对象和面向过程都是一种思想,面向过程是强...

黑马程序员——java基础----面向对象(四) 异常处理

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 异常处理 1,什么是异常:            异常就是程序中出现的问题或者是非正常的情况。 ...

黑马程序员——java基础---面向对象

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流----- 一、什么是面向对象 1、面向过程思想   首先来回顾一下以前c语言中的面向过程思想,面向过程思想强...

黑马程序员——JAVA基础之面向对象(上)

面向对象是当前计算机界关心的重点,它是软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展多个领域。区别于面向过程的是,面向过程注重的是过程,也就是功能。而面向对象强调的是事物本身...

黑马程序员——JAVA基础--面向对象思想

JAVA的面向对象思想

黑马程序员——JAVA基础之面向对象(下)

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------   上篇博客讲述了面向对象三大特征之一的封装,接下来将讲述省下的继承,多态以及其他的一些知识点...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:黑马程序员——Java基础---面向对象(一)
举报原因:
原因补充:

(最多只允许输入30个字)