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

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

三大特征:
        封装
        继承
        多态
构造器:又叫构造方法(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. delegate实现Javascript的each方法

    C#如何用delegate实现Javascript的each方法   C#中有很多易混淆的关键词,例如delegate,Func, Action和 Predicate.Func, Action和 Pr ...

  2. 乐在其中设计模式(C#) - 组合模式(Composite Pattern)

    原文:乐在其中设计模式(C#) - 组合模式(Composite Pattern) [索引页][源码下载] 乐在其中设计模式(C#) - 组合模式(Composite Pattern) 作者:weba ...

  3. JSON小结

    在 JSON 中,“Object” 是什么呢? json.org 有很好的解释: 1 .An object is an unordered set of name/value pairs. 2.An ...

  4. Thanks

    今天,突然有一种爽的感觉.是做题做到爽的感觉,晚上就不是非常强烈了,脖子疼,要断了. 中午.妈妈给我打了电话,后来才知道爸爸的嗓子都哑了.说不出话来了都,哎,这都快一个月没有下雨了.地都干得要命了.好 ...

  5. iOS 7 新特性

      iOS7更新了很多引人注目的功能.用户界面完全重新设计了.iOS7为开发2D,2.5D游戏引入了全新的动画系统.加强多线程,点对点连接,以及许多其他重要的功能让iOS7成为有史以来最有意义的一次发 ...

  6. zoj 1738 - Lagrange's Four-Square Theorem

    称号:四方形定理.输出可以表示为一个数目不超过四个平方和表示的数. 分析:dp,完全背包.背包分割整数.可用一维分数计算,它也可以被写为一个二维团结. 状态:设f(i,j,k)为前i个数字,取j个数字 ...

  7. sql 添加用户

    use master GO EXEC sp_addlogin 'infos1', '1', 'master' exec sp_grantdbaccess 'infos311' -- 给访问权限 USE ...

  8. 【最小割】HDU 4971 A simple brute force problem.

    说是最大权闭合图.... 比赛时没敢写.... 题意 一共同拥有n个任务,m个技术 完毕一个任务可盈利一些钱,学习一个技术要花费钱 完毕某个任务前须要先学习某几个技术 可是可能在学习一个任务前须要学习 ...

  9. Javascript作用域问题的构造函数的变量

    构造函数new对于使用.代表创建对象.此外,它可以被用作普通的函数调用,因为它也是一个功能. function Person(name) { this.name=name; } Person(12); ...

  10. LINQ之路(1):LINQ基础

    本文将从什么是LINQ(What).为什么使用LINQ(Why)以及如何使用LINQ(How)三个方面来进行说明. 1.什么是LINQ LINQ(Language Integrated Query)是 ...