java的 oo_Java OO 知识总结
说明:
Java oo的相关知识实在是太多了,甚至每个知识点都可以写一篇文章,这里介绍一些基础的和对应知识点提示。
概述:
1.类和对象
Java万物皆是对象,旨在将世界中的概念模拟到计算机程序中,它将现实世界中的所有事物视为对象。
对象的描述是通过特征和行为来描述的,特征是对事物的静态描述,行为是对事务的动态描述。
对应到程序中就是特征就是属性(成员变量)和行为就是方法。
多个对象具有的相同特征和行为,我们将这样的特征和行为抽象出来,形成一个新的单元,这个单元称作是类。
类是具有相同属性和共同行为的一组对象的抽象集合。
类是面向对象程序设计中的基本单元。
对象是实体,而类是概念模型,用来定义对象的所有特征和行为。同一类的所有对象都拥有相同的特性和行为。
你我他都是真真实实存在的,而人类是对你我他这样的真实存在的实体的共有特征和行为的描述。
2.java oo
类的基本组成:成员变量、构造函数、方法
成员变量:成员变量定义在类中,与之对应的局部变量在某个代码块中,它的有效范围是当前所在代码块中
构造函数:默认构造方法和构造方法的重载
方法:方法的定义、方法参数传递机制、重载和重写、递归、动态参数
《Java入门 之 方法》
权限修饰符:public、protected、default、private
包的概念:主要是为了解决重名问题,java导入分为导入和静态导入
继承:java只支持单继承
封装
多态:体现在方法的重载和重写
抽象类和抽象方法
接口:对行为的声明
3.几个关键字
this:指代当前对象自身,例如:this.name、this.show()等。
《Java入门 之 this》
super:代表继承某些成员变量
static:静态的 可以修饰成员变量、方法,也可用于静态代码块。
《Java基础 之 static》
final:代表最终的 不可变化的,可用来修饰变量(常量)、参数、方法、类
《Java入门 之 final》
extends:继承关键字 用在类名后面
implements:实现接口关键字 用在类名后面
abstract:用来修饰抽象类和抽象方法关键字
interface:代表一个接口
package com.cxyapi.oo;
/** 面向对象知识点总结
* @author cxy @ www.cxyapi.com
*/
public class OoTest1
{
public static void main(String[] args)
{
/**
* User是一个类(模子、模版、一个定义、设计图)
* u1是一个对象(具体的实例、一个具体的user,而不仅仅是个概念)
* 实例化相关的理解:
* 1.new 后面跟构造函数 来实例化一个对象。
* 2.u1只是一个引用变量,它存放的是对象的地址,而不是对象本身。
*/
User u1=new User("cxy");
u1.show(); //user的行为,介绍展示自己
}
}
/** 一个用户model,是一个类 一个模型 抽象的概念
*@author cxy @ www.cxyapi.com
* 包括:Field-成员变量(属性,特征)、构造函数、方法(行为,操作)
*/
class User
{
/** 成员变量:名字
* 对于一个标准的JavaBean或者model来说应当
* 将成员变量设置成私有,然后对其生成getter、setter
* 这也是保证封装行的体现
*/
private String name;
/** 构造方法
* 1.这个是带参数的构造方法。
* 2.系统默认提供一个不带参数的构造方法,但是如果定义了一个带参数的 那系统默认的构造方法就会失效。
* 3.this用法体现之一:参数和成员变量名字一样,这时候this指代的就是当前要构造的对象的name。
*/
User(String name)
{
this.name=name;
}
//介绍自己
public void show()
{
//这里的this指代的就是当前调用show方法的这个对象,其实这里可以省略不写
System.out.println("大家好 我叫"+this.getName());
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
}
声明:
1.原创文章,转载请标明并加本文连接。
2.文章反映个人愚见,如有异议欢迎讨论指正
3.更多的内容请看我的 个人博客(测试版)
java的 oo_Java OO 知识总结相关推荐
- 「BUAA OO Pre」 切换Java版本到OO课程要求版本
「BUAA OO Pre」 切换Java版本到OO课程要求版本 文章目录 「BUAA OO Pre」 切换Java版本到OO课程要求版本 Part 0 前言 写作背景 定位 笔者设备 您可以在这里期望 ...
- Java集合框架的知识总结(1)
Java集合框架的知识总结(1) 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量). Java的集合类主要由两个接口派生而出:Collection和Map,Collec ...
- java 网络爬虫 正则表达式_【干货】Java网络爬虫基础知识
原标题:[干货]Java网络爬虫基础知识 引言 Java 网络爬虫具有很好的扩展性可伸缩性,其是目前搜索引擎开发的重要组成部分.例如,著名的网络爬虫工具 Nutch 便是采用 Java 开发,该工具以 ...
- Java Web 编程入门知识
Java SE 的内容基本都讲完了. 但是 Java一般用于网络编程, 就是所谓的web编程. Java SE讲的基本上都是本地程序的内容. 而Java web编程需要在两个程序中传输数据, 以后就是 ...
- Java 代码的基本知识
大家好,以下是我在学习中获取的一些小知识,在这里和大家进行分享,希望可以帮助到大家,详情请看:网络课程 Java 代码的基本知识 Java 私塾跟我学系列--JAVA 篇 网址:www.javas ...
- 初学Java该学哪些知识?这6大知识必学
目前,Java是开发人员的热宠,很多论坛都有不少热爱Java的开发人员,也有不少想成为Java程序员,但苦于不知道该如何学习Java,也不清楚该学些什么知识才能成为一个Java程序员.小千在这里抛砖引 ...
- 第76节:Java中的基础知识
第76节:Java中的基础知识 设置环境,安装操作系统,安装备份,就是镜像,jdk配置环境,eclipse下载解压即可使用,下载tomcat 折佣动态代理解决网站的字符集编码问题 使用request. ...
- java入门基础重要知识必考考点
java入门基础重要知识 一. Java概述 二. Java语言基础 1. 标识符的命名规则: 2. 关键字 3. 基本数据类型(基本.引用) 4. 基本数据类型转换 5. 定义变量的语法: 6. 运 ...
- Java核心技术卷一基础知识第10版demo实例
Java核心技术卷一基础知识第10版demo实例 第三章 JAVA的基本程序设计结构 3.7输入与输出 3.7.1读取输入 3.8控制流程 3.8.3循环 3.10数组 3.10.6多维数组 第四章 ...
最新文章
- WPF 快速制作可拖拽的对象和窗体
- java 默认网关,java 获得默认网关 和 子网掩码 本机
- 一直以来都没直视的轮播-_-
- Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法笔记-协议与分类...
- scala hashmap_如何在Scala中将Hashmap转换为Map?
- 5930. 两栋颜色不同且距离最远的房子
- 猎豹浏览器插件无法加载怎么办 插件无法加载解决方法
- mpchart点击_MPAndroidChart实现K线面板(一)
- 阶段3 1.Mybatis_03.自定义Mybatis框架_3.自定义mybatis的编码-根据测试类中缺少的创建接口和类...
- vijos 1082
- 【观察】智能门锁:弱水三千,谁能先取一瓢?
- Excel:INDEX与MATCH函数
- 雷军做程序员时写的博客,有点东西!
- 技术决胜年----谈谈我2018年的新观念新思想
- Final发布 文案+美工展示
- ToolBar 修改菜单字体和颜色
- Python绘制温度变化曲线
- CANable 介绍
- 怎么查看自己匿名在百度知道提问的问题?
- ssm校园宿舍管理系统
热门文章
- 小蛮与QQ堂的故事 ——外挂作者的缅怀
- java逻辑共享设计_精美图文讲解Java AQS 共享式获取同步状态以及Semaphore的应用...
- Oracle使用默认用户登陆时,conn sys/密码 as sysdba,密码怎么是什么都行啊?
- 光纤之父高锟获英女王封爵
- SQL中单引号和双引号
- 基于JavaWeb的酒店客房预定管理系统
- 强化学习 | Multi Agents | Trust Region | HATRPO | HAPPO
- box-shadow 93种经典效果
- Android官方实现的层次状态机Hierarchical State Machine源代码
- 外企面试最常见的八大英文问题