1.面向对象是面向过程而言.两者都是一种思想。
面向过程:强调的是功能行为。(强调过程、动作)
面向对象:将功能封装进对象,强调了具备了功能的对象。(强调对象、事物)
面向对象是基于面向过程的。将复杂的事情变简单了。
面向过程-->面向对象:执行者-->指挥者
将过程、功能封装进对象里面。
面向对象三大特征:封装、继承、多态。(找对象,建立对象,使用对象,维护对象的关系。)
老者境界:(万物皆对象!!!)
例:公司招聘程序员:为了提高效率,公司老板从面向过程到面向对象(执行者-->指挥者)
例:去饭店吃饭,服务员具备点菜功能是对象,我们是指挥者。
2.以后写程序就是找对象使用,有对象就拿过来用,没对象就造一个对象。
人开门:名词提炼法
人{
开门(门)
{
门.开();
}
}
门{ 
开(){操作门轴..}
}
3.类(class)和对象的关系:类是对现实生活中事物的描述。对象就是这类事物,实实在在存在的个体。
描述事物就是描述事物的属性和行为。
属性对应类中的变量,行为对应类中的函数(方法)。
定义类是描述事物定义属性和行为。【属性】和【行为】共同成为类中的成员(成员变量和成员方法);
(现实生活中对象:张三、李四。
想要描述:这些对象共性内容。对具体的抽象。
描述时:这些对象的共性有:姓名,年龄,性别,学习java时间、功能。)
映射到java中:描述是class中定义的类。具体对象是对应java在堆内存用new建立的实体。
4.类类型变量(引用类型)指向对象。(栈内存产生类类型变量指向实体)(堆内存产生实体)
5.成员变量作用于整个类中class,局部变量作用在函数中。
成员变量作用堆内存中因为对象的存在才在内存中存在;局部变量作用于栈内存中。
6.匿名对象:new Car().num=5;匿名对象调用属性没意义。调用方法有意义。(方法在方法去中)
当对对象的方法只调用一次时,可以使用匿名对象,这样比较简化;
如果对一个对象进行多成员调用,必须给这个对象起名字。
可以将匿名对象作为实际参数进行传递。
例如:show(new car());public static void show(car c){c.num=3;c.color=4;}可以简化书写;
7.封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问的方式。
好处:将变化隔离;便于使用;提高重要性;提高安全性。
封装原则:将不需要对外提供的内容都隐藏起来;
【把属性都隐藏,提供公共方法对其访问】。
【函数是代码中最小封装体。】.
对属性的封装,提供get、set方法访问,赋值
private只在私有类中访问。封装不是私有,私有仅仅是封装的一种表现形式。之所以对外提供访问方式,因为在访问方式中加入逻辑判断等语句。
一个类里面有属性set(void)设置和get返回,那么这个属性是私有的。
8.构造函数:函数名和类名一致;不用定义返回值类型(不用void...);不写return语句。
对象一建立调用与之对应的构造函数。
构造函数的作用:可以给对象进行初始化。
构造函数的细节:当一个类中没有定义构造函数时,那么系统会默认给该类加入一个空参数的构造函数。
构造函数和一般函数写法上、运行上不同,构造函数是在对象一建立就运行。给对象初始化。
而一般方法(set get)是对象调用才执行,是给对象添加对象具备的功能。
一个函数一建立,构造函数只运行一次。而一般方法可以被该函数对象调用多次。
9.构造代码块,作用:给对象初始化,对象一建立就运行,优先于构造函数执行。构造代码块给所有对象初始化,
构造函数给对应对象初始化。
不同的构造函数有相同初始化内容。
10.局部的变量赋予给成员的用this关键字。(同名)
this的特点:this代表本类【对象】。this代表所在函数所属对象的引用。
哪个对象在调用this所在函数,this就代表那个对象。
this应用:当定义本类中功能,该函数内部调用该函数对象,用this表示这个对象。
11.构造函数之间的调用用this();用于区分同名变量的情况。
this语句只能在构造函数第一行。
12.static关键字。是一个修饰符,用于修饰成员(成员变量,成员函数)(在方法区中)
不在堆内存中,对象可以共享。
可以被类名调用。(类名.静态成员)。
static静态的特点:
1.随着类的加载而加载。2.被所用对象共享。3.优先于对象存在。4.可以被类名调用。5.静态变量可以使用get、set方法
特有的数据用成员变量,多个对象共用的数据用静态变量。
13.实例变量和类变量(static)区别
1.类变量随着类的加载存在于方法区中。实例变量随着对象建立存在堆内存中。
2.类变量生命周期长,随着类消失而消失。实例变量随着对象的消失而消失。
3.主函数是静态的。
14.静态使用注意事项:
1.静态方法只能访问静态成员(属性,方法)。非静态方法既可以访问静态也可以访问非静态。
2.静态方法中不可以定义this.super关键字。(静态优先于对象存在,对象中有this.)

java面向对象思想1的更多相关文章

  1. 06-03 Java 面向对象思想概述、开发设计特征,类和对象的定义使用,对象内存图

    面向对象思想概述.开发设计特征 1:面向对象思想 面向对象是基于面向过程的编程思想. 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2:面向对象的思想特点 A:是一 ...

  2. JAVA面向对象思想理解分析

    1.面向对象是面向过程而言.两者都是一种思想.面向过程:强调的是功能行为.(强调过程.动作)面向对象:将功能封装进对象,强调了具备了功能的对象.(强调对象.事物)面向对象是基于面向过程的.将复杂的事情 ...

  3. 薪资管理系统(Java面向对象思想)

    package com.test3; import java.util.*; import java.io.*; /** * @author qingfeng * 重要思想:面向对象思想(添加员工管理 ...

  4. java面向对象思想2

    1.主函数是一类特殊的函数,作为程序入口,可被虚拟机调用.主函数格式是固定的.public:函数访问权限最大.static:代表函数随着类的加载已经存在.void:主函数没有具体返回值.main:不是 ...

  5. Java面向对象思想解决猜拳问题

    第一个面向对象的程序: 一个控制台猜拳小游戏: 第一步选择角色: 第二部选择剪刀,石头,布,与电脑进行PK: 第三部选择继续或者选择结束; 结束显示比赛的局数,以及各自赢得的分数: 设计思路 分析问题 ...

  6. java面向对象思想之封装

    一.什么是封装 菜鸟教程对封装的解释是"在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部分包装.隐藏起来的方法.".简单来说就 ...

  7. 《Head First Java》读书笔记(2) - Java面向对象思想

    1.了解继承 对象继承实际上就是一种"is - a"的关系,如上图的"PantherMan is a SuperHero?",是,那么便属于继承的理解. 继承能 ...

  8. JAVA面向对象思想

    1.面向对象的基本特征     面向对象具有三个基本特征:封装.多态.继承.      1)封装             封装指的是将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能. ...

  9. 浅谈Java面向对象思想

    本人免费整理了Java高级资料,涵盖了Java.Redis.MongoDB.MySQL.Zookeeper.Spring Cloud.Dubbo高并发分布式等教程,一共30G,需要自己领取.传送门:h ...

随机推荐

  1. css奇技淫巧—border-radius

    官方介绍: 浏览器支持:IE9+, Firefox 4+, Chrome, Safari 5+,和Opera支持border-radius属性. border-radius 属性是一个最多可指定四个 ...

  2. n个点的基环树数量

    某裴姓蒟蒻上午提了一个小问题(rt)..然后他升华了..升华之前感受到了神犇的力量... 方法一: g[n][k]表示n个点,k条边的无向图(不一定连通) f[n][k]表示表示n个点,k条边的无向连 ...

  3. 使用shell巧妙高效的批量删除历史文件或目录

    背景:有实时产生的数据按小时分文件保存,如“/data/2013/09/18/14.txt”.现需要保留30天的最新数据,而删除所有其它的历史数据.注意“保留30天的最新数据”,可能不是连续的30天, ...

  4. Siverlight5 3D 中文环境搭建

    一.测试环境 vs2010旗舰版 win7 64位旗舰版 二.必备工具 1.vs2010 旗舰版 2.vs2010 sp1 补丁 3.silverlight5 tools 也可以去silverligh ...

  5. KEYCODE列表

    电话键 键名 描述 键值   KEYCODE_CALL 拨号键 5 KEYCODE_ENDCALL 挂机键 6 KEYCODE_HOME 按键Home 3 KEYCODE_MENU 菜单键 82 KE ...

  6. Oracle数据库SQL语句操作大全汇总

    数据库各个表空间增长情况的检查: SQL >SELECT A.TABLESPACE_NAME,( 1-(A.TOTAL)/B.TOTAL)* 100 USED_PERCENT FROM (SEL ...

  7. 精心收集的SSH框架的面试题汇总

    Hibernate工作原理及为什么要用? 原理: 1. 读取并解析配置文件 2. 读取并解析映射信息,创建SessionFactory 3. 打开Sesssion 4. 创建事务Transation ...

  8. iOS 收藏的笔记

    目录 UI 资料类 网络篇 图表 动画 菜单栏 数据存储和数据库 第三方库 社交分享 刷新 视频音频 其他 阅读 JS 导航 系统 支付 书籍 工具类 完整项目收集 DEMO UI http://ww ...

  9. Arduino连接SHT10温湿度传感器--返回值不正常解决办法

    如题目,arduino中连接温湿度传感器,用的是一个github开源项目,地址:点击打开,其实这个就是一个封装好的库,下载后把解压的文件夹复制到Arduino目录下的librarys文件夹内,重启Ar ...

  10. jQuery_1_基础核心

    jQuery代码风格:在jQuery程序中,不管是页面元素的选择还是内置的功能函数,都是以“$"来起始的. $(function(){});                        / ...