面向对象三大特性:封装,继承,多态

类:对象的蓝图,生成对象的模板,是对一类事物的描述,是抽象的概念上的定义
对象:是实际存在的该类事物的每个个体,也称为实例
类之间三种关系:依赖关系(uses-a),聚集关系(has-a),继承关系(is-a)
 
面向对象:
1.将复杂的事情简单化
2.将以前的过程中的执行者,变成了指挥者
3.这种思想符合现在人们思考习惯的一种思想
 
匿名对象使用场景:
1.当对方法只进行一次调用时;
 
成员:
1.成员变量:事物的属性
2.成员函数:事物的行为
 
注意:属性是用于存储数据的,直接被访问量,容易出现安全隐患,所以类中的属性通常被私有化,并对外提供公共的访问方法,set()  get();
 
成员变量和局部变量的区别:
1.成员变量直接定义在类中,局部变量定义在方法中,参数上,语句中;
2.成员变量在这个类中有效,局部变量只在自己所属的大括号内有效;
3.成员变量存于堆内存中,随着对象的产生而存在,消失而消失,局部变量存于栈内存中,随着所属区域的运行而存在,结束而释放;
 
构造函数:对象创建时都需要初始化才可以使用
用于给对象进行初始化,给与之对应的对象初始化,具有针对性;
特点:
1.函数名与所在类名相同
2.不需要定义返回值类型
3.没有具体的返回值
注意:一个类中出现多个构造函数,它们的存在时可以重载体现的
分析事物时,发现具体事物一出现,就具备了一些特征,那就将这些特征定义到构造函数内
 
构造代码块和构造函数有什么区别:
1.构造代码块:时给所有的对象进行初始化,只要对象一建立,就会调用这个代码块
2.构造函数:是给与之对应的对象进行初始化,具有针对性
 
类的访问权限
1.public:
对于成员,类来说:任何其他类都可以访问它们,不管是否在同一个包
2.friendly:
对于成员来说:如一个类的成员没有任何权限修饰,那么它们就是缺省包访问权限,用friendly来表示。
对于类来说:同一个包中的类可以用,类只可以声明为public或friendly。
3.private:
对于成员来说:只能在该成员所属的类中访问
对于类来说:类不可以声明private
4.protected:
对于成员来说:相同包中的类可以访问,基类通过protected把基类的成员访问权限赋予派生类不是所有类
对于类来说:类不可以声明为protected
 
注:
1.每个类文件仅能有一个public class
2.public  class的名称必须和其他类文件同名
3.一个类文件可以不存在public class
4.class 不可以时private和protected
5.如果不希望那个任何产生某个class 的对象,可以将该类得所有构造函数设置成private。但是即使这样也可以生成该类的对象,就是class 的static 的成员(属性和方法)可以办到。

java基础复习二——面向对象一的更多相关文章

  1. C# 基础复习 二 面向对象

    继承:子承父业  子:子类    父:父类    业:所有非私有成员 好处:代码的复用   继承后,实例化子类时,不止子类的构造,父类的构造也会执行,而且父类的构造先于子类的构造执行 即使在子类可以看 ...

  2. 《Java基础复习》—常识与入门

    突然发现自己Java基础的底子不到位,复习! 所记知识会发布在CSDN与博客网站jirath.cn <Java基础复习>-常识与入门 一.Java语言的知识体系图 分为三部分 编程语言核心 ...

  3. Java基础复习笔记系列 四 数组

    Java基础复习笔记系列之 数组 1.数组初步介绍? Java中的数组是引用类型,不可以直接分配在栈上.不同于C(在Java中,除了基础数据类型外,所有的类型都是引用类型.) Java中的数组在申明时 ...

  4. Java基础教程:面向对象编程[2]

    Java基础教程:面向对象编程[2] 内容大纲 访问修饰符 四种访问修饰符 Java中,可以使用访问控制符来保护对类.变量.方法和构造方法的访问.Java 支持 4 种不同的访问权限. default ...

  5. 《Java基础复习》-控制执行流程

    最近任务太多了,肝哭我了,boom 参考书目:Thinking in Java <Java基础复习>-控制执行流程 Java使用了C的所有流程控制语句 涉及关键字:if-else.whil ...

  6. Java基础复习之数组

    Java基础复习之:数组 简介 数组(Array):多个相同数据类型按照一定顺序排列的集合,并使用一个名字命名,通过编号的方式对这些数据进行统一管理 一维数组 一维数组的声明与初始化 int[] id ...

  7. java基础复习记录

    java基础复习记录(数组.对象.异常) 数组 数组的定义 数组是相同类型数据的有序集合.如:篮球队就是一个数组,队员球服上有号码,相当于索引.通过某一个的某一个号码来确认是某一个队员.数组中索引从0 ...

  8. Java基础复习笔记系列 九 网络编程

    Java基础复习笔记系列之 网络编程 学习资料参考: 1.http://www.icoolxue.com/ 2. 1.网络编程的基础概念. TCP/IP协议:Socket编程:IP地址. 中国和美国之 ...

  9. Java基础复习笔记系列 八 多线程编程

    Java基础复习笔记系列之 多线程编程 参考地址: http://blog.csdn.net/xuweilinjijis/article/details/8878649 今天的故事,让我们从上面这个图 ...

随机推荐

  1. selenium + python 怎样才能滚到页面的底部?

    可以用 execute_script方法来处理这个. 调用原生javascript的API,这样你想滚到哪里就能滚到哪里. 下面的代码演示了如何滚到页面的最下面:   driver.execute_s ...

  2. Android 添加源码到eclipse 以及相关设置

    作者:舍得333 主页:http://blog.sina.com.cn/u/1509658847版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版.作者信息和本声明,否则将追究法律 ...

  3. JEECG图表配置说明

    图表配置可以做什么? 图表配置可以通过在线配置,无需编写代码生成图形报表页面.使用highcharts.js实现,可以运行在任何现代浏览器,包括移动终端以及IE6.目前支持曲线图.柱状图等基础报表. ...

  4. Spring Cloud Netflix概览和架构设计

    Spring Cloud简介 Spring Cloud是基于Spring Boot的一整套实现微服务的框架.他提供了微服务开发所需的配置管理.服务发现.断路器.智能路由.微代理.控制总线.全局锁.决策 ...

  5. spring bean autowire自动装配

    转自:http://blog.csdn.net/xiao_jun_0820/article/details/7233139 autowire="byName"会自动装配属性与Bea ...

  6. mysqldump 备份某张表 Warning: A partial dump from a server that has GTIDs will by default include the GTIDs of all transactions,

    [root@NB ok]# mysqldump -uemove -h xx.xx.xx.xx -P9906 DBname t_name -p >2t_tname.sqlWarning: A pa ...

  7. PHP源代码生成 main/config.w32.h

    PHP源代码生成 main/config.w32.h 1.下载php源代码包php-5.4.0.tar.gz,解压到D:\php-5.4.0 2.下载2个必要的包http://xiazai.jb51. ...

  8. 每日英语:China's Retirement Age Sets Experts at Odds

    The politically explosive issue of the official retirement age has drawn academics from two of China ...

  9. ny523 亡命逃串 hdoj 1253胜利大逃亡

    亡命逃窜 时间限制:1000 ms  |  内存限制:65535 KB 难度:4 描述 从前有个叫hck的骑士,为了救我们美丽的公主,潜入魔王的老巢,够英雄吧.不过英雄不是这么好当的.这个可怜的娃被魔 ...

  10. Spark性能优化(1)——序列化、内存、并行度、数据存储格式、Shuffle

    序列化 背景: 在以下过程中,需要对数据进行序列化: shuffling data时需要通过网络传输数据 RDD序列化到磁盘时 性能优化点: Spark默认的序列化类型是Java序列化.Java序列化 ...