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

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

三大特征:
        封装
        继承
        多态
构造器:又叫构造方法(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. T-SQL基础(7) - 透视,逆透视和分组集

    透视转换: use tempdb;if object_id('dbo.Orders', 'U') is not null drop table dbo.Orders;create table dbo. ...

  2. Spring4.0MVC学习资料,ApplicationContext中的方法具体解释(三)

    做为java开源的一部分,spring框架一直排在老大的位置.Spring4.0 是 Spring 推出的一个重大版本号升级,进一步加强了 Spring 作为 Java 领域第一开源平台的地位.Spr ...

  3. 利用Sails.js+MongoDB开发博客系统

    http://yoyoyohamapi.me/categories/利用Sails-js-MongoDB开发博客系统/ 利用Sails.js+MongoDB开发博客系统 Apr 14, 2016 利用 ...

  4. C利用宏语言(#,##,do…while(0)盛大)

    C利用宏语言(#,##.do-while(0)盛大) 1.使用宏预先定义__FILE__,__FUNCTION__.__LINE__. #include <stdio.h> void fu ...

  5. [Python 学习] 两、在Linux使用平台Python

    在本节,它介绍了Linux如何使用平台Python 1. Python安装. 今天,大多数把自己的版本号Python的,它不能被安装.假设你要安装它,可以使用相应的安装指令. Fedora:先以roo ...

  6. Codeforces Round #274 (Div. 2) --A Expression

    主题链接:Expression Expression time limit per test 1 second memory limit per test 256 megabytes input st ...

  7. Ubuntu 14.04 Android 使用Maven一个 用例project

    在说明书前面描述SDK通过使用Ant发展. 本文试图在此基础上使用Maven发展. 在这里,我们需要使用maven-android-plugin. 在本文中,参考官方文件: https://code. ...

  8. RecyclerView0基于使用

    (转载请注明出处:http://www.kennethyo.me/post/android/recyclerviewchu-ji-shi-yong) RecyclerView是Android在v7包中 ...

  9. 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 print-all-combinations-of-given-length

    // 给定一个set字符和一个正数k,找出所有该做set它可以由长度构成k该字符串集合 /* Input: set[] = {'a', 'b'}, k = 3 Output: aaa aab aba ...

  10. “GDI+ 发生一般错误” 解决方法

    System.Runtime.InteropServices.ExternalException: GDI+ 发生一般错误 对应的帐户没有写权限,给予帐户写权限 版权声明:本文博主原创文章,博客,未经 ...