很久没做笔记了,没有以前的刚开始学习软件时候的热情了。包括几年前U盘损坏,数据丢失,通过数据恢复,也只是找回一些零星的碎片。

现在就抽时间把以前的技术笔记找回来,这十条记录在电脑上显示的最后修改日期为:2011年08月20日10:06分

一、面向过程和面向对象

二、抽象
只关注与系统相关的行为和特征

三、封装
比如你不需要知道电视机是怎么播放画面的,只需要知道怎么用。
1、隐藏实现的细节
2、权限控制
3、数据保护

实现:
1、属性私有
2、提供公有setXXX/getXXX

四、构造方法
名字与类名相同,没有返回类型的方法,称为类的构造方法。
创建一个类的实例(对象)时(new),一定调用对应构造方法。

构造方法用于初始化。

1、如果一个类没有显式的定义构造方法,编译器会为类提供
一个默认的构造方法。此构造方法是public 无参的。

2、一旦为类显式的提供了构造方法,编译器将不再为类提供
默认的构造方法。

3、在不是必须的前提下,如果为类提供了有参的构造方法,
应该同时再重载一个无参的构造方法。

五、重载
在一个类中,方法名相同,参数不同,我们就说这些方法重载。

1、重载只与方法名和参数相关。与别的(访问修饰符、返回类型)无关
2、参数不同:
a、个数不同
b、类型不同
c、顺序不同

六、静态方法
static
方法的类型
1、成员方法(属于对象的方法)
2、构造方法
3、静态方法(属于类本身的方法)

静态成员(属性和方法)
1、只加载一次。对象还未构造,静态成员已经存在了
2、所有的对象共享

有二种访问方式:
1、通过对象来访问
2、通过类名.静态成员来访问

静态方法是否可以重载?
答:可以重载
静态方法是否可以使用private来修饰?
答:可以使用。但是没有意义。

七、静态代码块
//静态代码块
static{
//代码写在这里
}
在加载这个类的时候就会运行。只运行一次

八、静态方法和this
静态方法中不可以使用this。

九、访问静态成员的限制
1、静态方法只能访问静态成员,不能访问非静态成员
2、非静态方法可以访问静态成员

十、访问修饰符
private 只能在类内部访问
默认的(default) 同一个包中可以访问
protected 同一个包及不同包的子类
public 任何地方都可以访问

简单展示一段面相对象的代码:

 package com.funtion.javaoop;

 public class Person {

     // 成员变量,属性
protected int age = 18;
static String country = "china"; // 静态代码块
static {
// 代码写在这里
System.out.println("静态代码块");
} // 构造方法
public Person() {
} // 构造方法
public Person(int age) {
this.age = age; // 初始化
} // 此方法不是构造方法,是一个成员方法
public void Person(int age) {
this.age = age;
} // 实例方法
public void a() { } // 实例方法
protected void abcd() { } // 静态方法
public static void b() {
System.out.println("静态方法");
} private static void b(int age) {
// this.age = age;
System.out.println("静态方法");
} public static void main(String[] args) {
Person p1 = new Person(22);
Person p2 = new Person(25); System.out.println(p1.country);
p1.country = "lajdfa";
System.out.println(p2.country);
Person.b(22);
}
}

抽象和封装_JAVA_OOP的更多相关文章

  1. PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)

    PHP面向对象三大特点学习 学习目标:充分理解抽象.封装.继承.多态   面象对向的三大特点:封装性.继承性.多态性 首先简单理解一下抽象:我们在前面定义一个类的时候,实际上就是把一类事物共有的属性和 ...

  2. 1.javaOOP_Part1_抽象和封装

    javaOOP_Part1_抽象和封装 javaOOP_Part1_抽象和封装 1.1 面向对象 1.1.1 为什么使用面向对象 1.一切皆对象 2.现实世界就是"面向对象的" 3 ...

  3. Java基础-四大特性理解(抽象、封装、继承、多态)

    抽象: 象就是有点模糊的意思,还没确定好的意思. 就比方要定义一个方法和类.但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口.具体怎么用,要做什么,我不用关心,由使用的人自己去定义去 ...

  4. Java(13) 抽象和封装

    一.简述从现实世界中抽象出类的步骤 第一:找出分类(分析出类) 第二:找出类的特征(分析类的相关属性) 第三:找出类的行为(分析类的方法) 二.常量(经常出现的变量值) 2.1 语法: public ...

  5. java第一章抽象和封装

    面向过程和面向对象有什么区别? 面向过程的核心是函数,以功能为中心,实现了函数级别的代码重用. 面向对象的核心是封装了属性和方法(行为)的类,以数据为中心,实现了类级别的代码重用. 面向对象因为采用了 ...

  6. java面向对象编程(五)--四大特征之抽象、封装

    1.抽象 我们在前面去定义一个类时候,实际上就是把一类事物的共有的属性和行为提取出来,形成一个物理模型(模版).这种研究问题的方法称为抽象. 2.封装 封装就是把抽象出来的数据和对数据的操作封装在一起 ...

  7. Java中的抽象和封装

    一.面向对象和面向过程的区别 面向对象: 核心:封装了属性和方法的类,以数据为中心,实现了类级别的代码重用 面向对象因为采用了类,所以具有继承和多态特性,可以进一步重用代码和简化编程 面向过程: 核心 ...

  8. 牛客网Java刷题知识点之面向对象java的四大特性(抽象、封装、继承、多态)

    不多说,直接上干货! 面向对象java的四大特性之抽象 抽象就是有点模糊的意思,还没确定好的意思. 就比如,要定义一个方法和类.但还没确定怎么去实现它的具体一点的子方法,那我就可以用抽象类或接口.具体 ...

  9. Java之抽象和封装

    ① 如何从现实世界中抽象出类?    根据软件开发需求: 发现类-->发现类的属性-->发现类的方法    ②   构造方法的作用和特点是什么?    作用:在创建对象时执行一些初始化操作 ...

随机推荐

  1. js 处理 html 标签转义 处理json中含有的ascii 编码

    function escape2Html(str) { var arrEntities = { 'lt': '<', 'gt': '>', 'nbsp': ' ', 'amp': '&am ...

  2. get_list_or_404(klass, *args, **kwargs)和get_object_or_404(klass, *args, **kwargs)区别

    get_object_or_404() 是通过调用get()方法从model管理器上获取数据, 如果对象不存在,它会报Http404的异常,而不是model的 DoseNotExist异常. get_ ...

  3. vs文件属性(生成操作)各选项功能(发布Web项目时使用)

    转自:http://www.cnblogs.com/paulhe/p/4490583.html 右击项目里的文件,选择属性(F4)会有[生成操作]的选项. 它提供了14项选择,如图: 在这说一下常用的 ...

  4. selenium2 Webdriver + Java 自动化测试实战和完全教程

    selenium2 Webdriver + Java 自动化测试实战和完全教程一.快速开始 博客分类: Selenium-webdriverselenium webdriver 学习selenium ...

  5. SQLServer2008-镜像数据库实施手册(双机)SQL-Server2014同样适用

    SQL Server2008R2-镜像数据库实施手册(双机)SQL Server2014同样适用 一.配置主备机 1. 服务器基本信息 主机名称为:HOST_A,IP地址为:192.168.1.155 ...

  6. ios调用本地拨打电话,发送短信

    电话.短信是手机的基础功能,iOS中提供了接口,让我们调用.这篇文章简单的介绍一下iOS的打电话.发短信在程序中怎么调用. 1.打电话   [[UIApplication sharedApplicat ...

  7. window.onload和window.document.readystate的探究

    在编写前端页面的时候,我们时常需要对页面加载的状态进行判断,以便进行相应的操作. 比如在移动端,时常需要在页面完全加载完成之前,先显示一个loading的图标,等待页面完成加载完成后,才显示出真正要展 ...

  8. swift 多线程及GCD

    1.基本概念 1)进程: 进程是指在系统中正在运行的一个应用程序.每个进程之间是独立的,每个进程运行在其专用且受保护的内存空间里.某进程内的线程在其它进程不可见 2)线程: 1个进程要执行任务,必须有 ...

  9. BIO,NIO,AIO

    同步阻塞IO(JAVA BIO):     同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可 ...

  10. 揭秘 typedef四用途与两陷阱[转]

    自 http://niehan.blog.techweb.com.cn/archives/325.html typedef用来声明一个别名,typedef后面的语法,是一个声明.本来笔者以为这里不会产 ...