面向对象
    编程本质:以类的方式组织代码,以对象的方式组织(封装)数据
对象具体的事物,某个类的对象(实例)
类:是对对象的抽象,用于描述同一类型的对象的一个抽象概念

对象和类的关系:特殊到一般,具体到抽象

三大特征:
        封装
        继承
        多态
构造器:又叫构造方法(constructor),用于构造类的实例
    格式:修饰符 类名(形参列表){
            //语句
    }       
         构造器的方法名与类名一致
        通过new关键字调用
        当没有定义构造方法时,系统会自定义一个无参构造函数
        构造方法可以重载
作用:构造该类的对象,初始化对象的属性
ps:一旦显示的写了一个构造方法,则默认的构造方法就不在存在
 
static关键字:
    特点:
            随着类的加载而加载
            优先于对象存在
            被所有对象所共享
            可以直接被类名调用
  静态(static)方法不能直接使用外面定义的非静态方法和非静态属性,可以new一个对象实例来访问非静态方法(属性),但非静态方法可以直接访问静态成员,静态方法不可以使用this,super关键字
 
没有使用static修饰的方法或字段,属于对象,可称为实例成员
使用static修饰的方法或字段,属于类,可称为类成员
 
调用:
    若是实例成员:只能通过对象来调用
    若是用static修饰的字段或方法,即类成员,可以使用类名来调用,也可以使用对象来调用。由于在底层,对象调用类成员,也会转成类名调用,所以使用类名调用比较好 
 
在JVM中有一块区域专门用来存储static修饰的成员叫静态存储区域
 
static比较耗性能,因为每次加载类成员的时候都要开辟空间而实例成员只有在创建的时候需要开辟空间
 
匿名对象:
    特点:
        对方法或字段只进行一次调用
        可作为实际参数作为传递
        只在堆内存中开辟空间,而没有在栈内存的引用
 
 
三大特性之一封装:
        1》把对象的状态和行为看成一个统一整体,将二者存放在一个独立 的模块中(类)
        2》“信息隐藏”,把不需要让外界知道的信息隐藏起来,尽可能隐藏对象功能实现细节、字段
封装机制在程序中体现:把描述对象的状态用字段表示,描述对象行为用方法表示,把字段和方法定义在一个类中,并保证外界不能任意改变其内部值,也不允许任意调动其内部的功能方法。
程序中的一种体现:通过类中成员变量私有化(private);通过对外提供getter、setter方法,可对私有化成员变量进行访问。
getter方法,用于获取私有化变量的值。
    格式:
        【非私有修饰符】 字段类型 get字段名(){
                            return 字段名;
                }
setter方法,用于设置私有化成员变量的值
    格式:
        【非私有修饰符】 void  set字段名(字段类型  变量){
                             字段 = 变量;
                }

面向对象三大特征之封装与static——(Java学习笔记四)的更多相关文章

  1. Java学习:面向对象三大特征:封装、继承、多态之封装性

    面向对象三大特征:封装.继承.多态. 封装性在Java当中的体现: 方法就是一种封装 关键字private也是一种封装 封装就是将一些细节信息隐藏起来,对于外界不可见. 问题描述:定义Person的年 ...

  2. Java学习:面向对象三大特征:封装性、继承性、多态性之多态性。

    面向对象三大特征:封装性.继承性.多态性之多态性. extends继承或者implemens实现,是多态性的前提. 例如:小菜是一个学生,但同时也是一个人.小菜是一个对象,这个对象既有学生形态,也有人 ...

  3. OOP面向对象 三大特征 继承封装多态

    OOP面向对象 ----三大特征 继承封装多态 面向对象(Object Oriented,OO)是软件开发方法.面向对象的概念和应用已超越了程序设计和软件开发,扩展到如数据库系统.交互式界面.应用结构 ...

  4. JavaSE基础知识(5)—面向对象(5.4面向对象三大特征:封装、继承、多态)

    面向对象编程具有三大特征: 封装 继承 多态 一.封装 1.好处 狭义的封装:也就是属性的封装,避免了任意赋值的危险,提高了数据的安全性! ①隐藏一个类中不需要对外提供的实现细节 ②使用者只能通过实现 ...

  5. Java学习笔记四---打包成双击可运行的jar文件

    写笔记四前的脑回路是这样的: 前面的学习笔记二,提到3个环境变量,其中java_home好理解,就是jdk安装路径:classpath指向类文件的搜索路径:path指向可执行程序的搜索路径.这里的类文 ...

  6. java之面向对象三大特征(封装,继承,多态)

    一.封装 封装是指将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息,而是通过该类提供的对外方法进行内部信息的操作和访问. 封装可以达到以下目的: 1)隐藏类的实现细节 2)让使用者只 ...

  7. 简述Java面向对象三大特征:封装、继承、多态

    封装: 把对象的全部属性和服务结合在一起,形成不可分割的独立单位: 尽可能隐藏内部细节.(数据隐藏.隐藏具体实现的细节)     public.private.protected.default pu ...

  8. Java学习笔记四

    1.简介.进程和线程:简单的说就是进程负责为程序开辟内存空间,线程负责具体的执行单元(执行路径). 一个进程中可以有多个执行路径,称为多线程.CPU一次只能执行一个进程,但是一个进程内部可以有多个线程 ...

  9. Java学习笔记四——运算符

    算术运算符 加减乘除(+.-.*./)就不说了. 求余运算符% 描述:第一个操作数除以第二个操作数,得到一个整除的结果后剩下的值就是余数 注意:求余预算的结果不一定总是整数,当操作数是浮点数时,结果可 ...

随机推荐

  1. 【转】Android Web Server

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://vaero.blog.51cto.com/4350852/1188602 Andr ...

  2. windows中间vmware的Linux系统安装jdk步骤

    1.设置文件的享受,对于本地阅读windows档 于vmware虚拟机设置共享文件夹,那么共享文件中,你可以 2.然后打开虚拟机上,使用root输入账户,然后,在夹/mnt/hgfs/   共享文件了 ...

  3. jQuery -> bind / live / delegate 终结者 - on

    最近的一项研究jQuery.利用获得的最新版本1.11.1. 据该书打下面的代码示例,,反正也发现跑不起来. html <div class="container"> ...

  4. 大约SQL现场“这包括”与“包括在”字符串的写法

     1.字段查找表值"这包括"方法一字符串的所有记录 如果表中有一name场,查询name这包括"乔 - 史密斯"所有记录.能够写sql: Stirng st ...

  5. 再谈Hibernate级联删除——JPA下的Hibernate实现一对多级联删除CascadeType.DELETE_ORPHAN

    声明: 1.本文系原创,非抄袭或转载过来的. 2.本文论点都亲手做过实验论证. 3.本文所讲的Hibernate配置都基于注解的方式,hbm语法未提供. 非常多人对持久层概念搞不清JPA.Hibern ...

  6. ASP.NET自定义控件组件开发 第五章 模板控件开发

    原文:ASP.NET自定义控件组件开发 第五章 模板控件开发 第五章 模板控件开发 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接 ...

  7. IOS使用Jenkins持续集成

    本文详细介绍了开发过程,提高效率进行IOS-Jenkins持续集成. 第二http://blog.csdn.net/monkey_cool/article/details/43270885 背景 平时 ...

  8. Android五个布局

    Android五大布局Layout 1,LinearLayout 线性布局(能够嵌套使用): 制定线性布局的排列方式:水平排列 horizontal.垂直排列 vertical eg: android ...

  9. 终结者单身——setAccessible(true)

    首先看一下"传说"Singleton模式 package go.derek; public class Singleton{ public static int times; pr ...

  10. 【转】Android 4.3源码下载及问题解决

    [html] view plaincopy 1 2 3 4 5 6 7 8 9 10 11 jianguoliao@jianguoliao-Lenovo-IdeaPad-Y470:~$ cat /et ...