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

类:对象的蓝图,生成对象的模板,是对一类事物的描述,是抽象的概念上的定义
对象:是实际存在的该类事物的每个个体,也称为实例
类之间三种关系:依赖关系(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. python学习笔记——正则表达式regex

    1 概述 1.1 定义 本质是由一系列字符和特殊符号组成的字串,用来表示一定规则的某一类字符串. 1.2 特点 正则表达式是一个独立的技术,其在多种编程语言中使用. 在python语言中的正则表达式模 ...

  2. [转]HSpice仿真

    一.HSPICE基础知识Avant! Start-Hspice(现在属于Synopsys公司)是IC设计中最常使用的电路仿真工具,是目前业界使用最为广泛的IC设计工具,甚至可以说是事实上的标准.目前, ...

  3. 计算机通信协议之OSI参考模型

    OSI参考模型 在OSI参考模型之前人类对计算机结构的研究就已经进行了太多的讨论,最终通过了作为通信协议设计指标的OSI参考模型.这个协议将通信协议中必要的功能分成了七个部分.通过这些分层使得那些比较 ...

  4. RabbitMQ 远程 IP 访问 解决办法 -摘自网络

    刚刚安装的RabbitMQ-Server-3.3.5,并且也已经开启了Web管理功能,但是现在存在一个问题: 出于安全的考虑,guest这个默认的用户只能通过http://localhost:1567 ...

  5. linux安装php环境,yum安装php环境

    用yum来管理安装Apache PHP Mysql的基本安装.1. 安装Apahce, PHP, Mysql, 以及php连接mysql库组件.yum -y install httpd php mys ...

  6. Java:多线程,线程池,ThreadPoolExecutor详解

    1. ThreadPoolExecutor的一个常用的构造方法 ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepA ...

  7. 《Effective Java》读书笔记一(创建与销毁对象)

    No1 考虑用静态工厂方法代替构造器 静态工厂方法优势: 它们有名称,阅读性增强,如:BigInteger.probablePrime: 不必每次调用它们的时候都创建一个新对象: 它们可以返回原返回类 ...

  8. Centos 5.6安装Mysql(步骤,疑问)

    1.安装步骤 yum install mysql yum install mysql-server yum install mysql-devel chgrp -R mysql /var/lib/my ...

  9. How to Acquire or Improve Debugging Skills

    http://blogs.msdn.com/b/debuggingtoolbox/archive/2007/06/08/recommended-books-how-to-acquire-or-impr ...

  10. ubantu下安装软件

    Linux系统中,软件通常以源代码或者预编译包的形式提供.(1)软件源代码需要编译为二进制的机器代码才能够使用,安装比较耗时,不过您可以自行调节编译选项,决定需要的功能或组件,或者针对硬件平台作一些优 ...