Javase部分回顾(static (静态修饰符),修饰方法,单利的设计模式, 封装)
static (静态修饰符)
1.修饰成员变量
静态变量的访问方式:
方式一 : 通过对象访问。
对象.变量名
方式二: 同过类名
类.变量名
静态变量的使用注意点 :
局部变量不允许被static修饰。
用static修饰的变量式放在共享区的,所以千万不要为了方便就将所有的静态变量都定义为成员变量。
静态变量和非静态变量的区别:
1.作用上来看 :
1.静态变量使用来共享的,所有的对象都可以访问到。
2.非静态变量就是用来描述同一类事物的公共属性。
2.数量和存储位置:
1.静态变量存在方法区(数据共享区),并且只有一份数据。
2.非静态变量存在堆区中,对象有n个,数据就有n个。
3.生命周期:
1.静态变量是在随着类文件的加而加载,随着类文件消失而消失。
2.非静态变量是随着对象创建而创建,随着对象的消失而消失。
2.修饰方法
静态变量的修饰的方法也有两种访问方式: 和OC中的类方法有点类似
1.对象来访问:
对象.方法名();
2.类来访问:
类.方法名();
注意事项:
1.静态方法访问静态的成员变量,不能访问非静态的成员变量。
原因: 静态方法被访问了,非静态的成员变量还没有被创建。
2.静态方法是可以直接访问静态方法,不能够访问非静态的方法。
原因:同上。
3.静态方法中不允许出现this和super关键字。
---------------------main 主方法为什么这么定义--------------------
public :让jvm能够在任何情况下都可以调用。
void : jvm拿到返回值没有意义。
static : jvm不知道该创建什么样的对象出来,所以干脆就不创建了。
main :不是关键字。 只是约定将这个作为入口方法的名。
args : 接收程序运行是传递的参数。
--------------------单利的设计模式-----------------------
1.饿汉单利设计模式:
步骤 :
1.定义一个私有的静态成员变量来引用对象(私有的静态对象),设置对象唯一。
2.私有化构造方法,防止new对象。
3.创建一个公开的静态方法,返回上面的对象。
2.懒汉单利设计模式 : 要用的才创建对象
1.定义一个私有的静态成员变量,不要赋值。
2.私有化构造方法,防止new对象。
3.创建一个公开的静态方法,判断是否存在对象,如果不存在就创建一个,如果存在就直接返回。
---------------------面向对象三大特征之一 : 封装--------------------------
封装的步骤:
1.用private来修饰成员变量。
2.设置一个公共的方法来设置或者访问私有的成员变量。
命名规范:
set属性名();
get属性名();
封装不一定需要提供set和get方法, 根据需求来定的。
规范 :在实际开发中实体类的成员变量,都需要封装起来。
封装用处:
框架,工具类。
封装的好处:
1.提高了数据的安全性
2.操做简单
3.隐藏方法的实现。
Javase部分回顾(static (静态修饰符),修饰方法,单利的设计模式, 封装)的更多相关文章
- .NET C#基础(2):方法修饰符 - 给方法叠buff
0. 文章目的 本文面向有一定.NET C#基础知识的学习者,介绍C#中的方法修饰符的含义和使用以及注意事项. 1. 阅读基础 理解C#基本语法(如方法声明) 理解OOP基本概念(如多 ...
- java中的类修饰符、成员变量修饰符、方法修饰符。
类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. fin ...
- Swift lazy 修饰符和方法
LAZY 修饰符和 LAZY 方法 由 王巍 (@ONEVCAT) 发布于 2015/10/07 延时加载或者说延时初始化是很常用的优化方法,在构建和生成新的对象的时候,内存分配会在运行时耗费不少时间 ...
- java中的类修饰符、成员变量修饰符、方法修饰符
类修饰符: public(访问控制符),将一个类声明为公共类,他可以被任何对象访问,一个程序的主类必须是公共类. abstract,将一个类声明为抽象类,没有实现的方法,需要子类提供方法实现. fi ...
- 在使用 interface 声明一个接口时,只可以使用那个修饰符修饰该接口?
这是一个看似简单其实挺有深意的题目,答案应该大多数人都知道是什么,不过原理和原因相比很少有人仔细研究过.对于本题,我有三点说明,希望看到这个评论的人能从这三点中看到你以前没注意到的东西: ①接口的声 ...
- JDK8以后接口是可以定义实现方法,必须需要default修饰符修饰
package com.company.java.oop.cls; interface IB { default void doMethod1() { System.out.println(" ...
- 面向对象static静态的属性和方法的调用
<?php header("content-type:text/html;charset=utf-8"); class Human{ static public $name ...
- php中static静态关键字的使用方法和应用场景
php中除了常规类和方法的使用,访问控制之外,还有静态关键字static,静态变量可以是局部变量也可以是全局变量,当一个程序段执行完毕时,静态变量并没有消失,它依然存在于内存中,下次在定义时还是以前的 ...
- php中static静态变量的使用方法详解
php中的变量作用范围的另一个重要特性就是静态变量(static 变量).静态变量仅在局部函数域中存在且只被初始化一次,当程序执行离开此作用域时,其值不会消失,会使用上次执行的结果. 看看下面 ...
- java final .static修饰符
static静态修饰符(使用static修饰符修饰的成员变量.常量.和成员方法成为静态变量.常量和方法,他们统称为静态成员,归整个类所有,不依赖于类的特定实例,被类的所有实例共享,只要这个类被加载,J ...
随机推荐
- putty连接报NetWork error:connection refused
首先通过物理终端进入到linux上,手工检查ssh发现没运行 /etc/init.d/sshd status 使用rpm -V 命令可检查到ssh的软件包正常 /rpm -V openssh-serv ...
- SQL高级查询——50句查询(含答案) ---参考别人的,感觉很好就记录下来留着自己看。
--一个题目涉及到的50个Sql语句 --(下面表的结构以给出,自己在数据库中建立表.并且添加相应的数据,数据要全面些. 其中Student表中,SId为学生的ID) ---------------- ...
- C语言程序设计第10堂作业
一.本次课主要内容: 本次课程学习数组,一种最基本的构造类型,它是一组相同类型数据的有序集合.数组中的元素在内存中连续存放,每个元素都属于同一种数据类型,用数组名和下标可以唯一地确定数组元素: (1) ...
- HDU 5441 离线处理 + 并查集
题意:给n个节点m条带权值边的无向图.然后q个问题,每次询问点对的数目,点对需要满足的条件是:1)连通:2)其路径的最大权值不能超过询问值. 分析:如果没次询问一次,dfs一次,很可能超时,因此可以用 ...
- PHP 爬取网页中表格数据
public function spider_j($page) { $url="http://aaa/bbb".$page."_0/"; $fcontents= ...
- 类A have-a 类B,类B访问类A public 成员
需求是类A中包含类B,而类B又需要访问类A的public属性的成员. 首先类B中要访问类A的属性,那么对于类B而言,我们必须要知道有类A这个类,所以在类B的具体实现之前我们需要前向声明类A. 对于类A ...
- ubuntu 安装Django MySQL
1.安装步骤 我到公司的第一件事就是安装ubuntu系统,虽然我以前没有接触过ubuntu系统不过在网上找了一下资料感觉和安装其它系统也差不多(注:我是安装带图形界面的那个版本),还是比较轻松的搞定了 ...
- CGAL4.1在VS2010上配置
配这个环境花了好几天的时间,虽然网上有很多相关的步骤,但是还是出了不少小错误,具体的步骤有很多,我就只记下我遇到的问题,我用的是CGAL4.1 boost1.51 CMake2.8 Qt4.8.2: ...
- Javascript 事件对象(三)事件冒泡
事件流---事件冒泡取消冒泡:ev.cancelBubble=true ---事件捕获Ie下是没有的,在绑定事件中,标准下是有的 <!DOCTYPE HTML> <html> ...
- iOS 打电话 发短信(转载)
官方代码 发短息和邮件添加MessageUI.framework 库 发送信息 - (IBAction)showSMSPicker:(id)sender { // You must check tha ...