Java基础学习(2)
Java基础学习(二)
面向对象
- 对象:客观存在的事物
- 面向对象:人具体关注的事物的某些信息
- 类:是模子,确定对象会拥有的特征(属性)和行为(方法)
- 对象的属性:对象具有的各种特征
- 对象的方法:对象能干什么
Java定义类
- 定义类名
- 编写类的属性
- 编写类的方法
Java对象的使用
- 创建个对象
- 类名 对象名 = new 构造方法;
- 使用对象
- 引用属性:对象名.属性名
- 引用方法:对象名.方法名
Java成员变量和局部变量
- 成员变量:定义在类中,用来描述对象将有什么
- 局部变量:在类方法中定义,在方法中临时保存数据
- 作用域
- 局部:仅限于定义它的方法内
- 成员:整个类的内部是可见的
- 初始值
- 局部:Java不会自动赋予初始值
- 成员:Java会自动赋予初始值
- 优先级
- 两类变量同名时,局部变量有更高的优先级
Java构造方法
- 目的:用来初始化的方法
- 特点
- 名称与类名相同,且没有返回值
- 当没有指定构造方法时,系统自动生成一个无参的构造方法
Java static变量与方法
- 使用static修饰的成员变量与方法能被所有的对象共享使用
Java static初始化块
- 在类加载时执行,且只会执行一次。而不同初始化块是在实例化时执行
- 只能给静态变量赋值
封装
- 将类的某些信息隐藏在类内部,不允许外部程序直接访问
- 好处
- 只能通过规定的方法访问数据
- 隐藏类的实例细节,方便修改与现实
- 步骤
- 修改属性的可见性
- 创建get与set方法
- 在get与set方法中创建控制语句
Java中的包
- 包的作用
- 管理Java文件
- 解决同名文件冲突
- 包的命名规范
- 全小写
Java访问修饰符
Java的this关键字
- this.属性:调用当前对象的属性
- this.方法:调用当前对象的方法
Java内部类
- 定义:定义在一个类内部的类
- 特点
- 更好的封装
- 内部类的方法可以访问外部类的所有数据
- 分类
- 成员内部类
- 就是普通的内部类
- 特点
- 外部类不能使用内部类的成员与方法
- 内部类优先使用自己的变量与方法,除非使用类名.this访问
- 创建
- 静态内部类
- static修饰
- 特点
- 只能使用new.外部类().成员变量来访问成员变量
- 访问外部类静态变量访问不变
- 方法内部类
- 定义在外部类方法中
- 特点
- 只能在方法中创建与使用
- 不能有任何修饰符
- 匿名类
- 没有名字的内部类,多用于关注实现而不关注类的名称
继承
- 类与类的关系,是一种is a的关系,Java中继承时单继承
- 关键字:extends
- 好处
- 代码复用。单父类private变量无法直接使用
- 方法的重写
- 优先使用子类重写的方法
- 继承的顺序
- 先初始化父类再初始化子类
- 先执行初始化对象中的属性,再执行构造方法中初始化
- final关键字
- 修饰的属性、方法、类、变量都不允许再被修改、继承。必须被初始化
- super关键字
- 代表类的父类对象
- 特点
- super()必须放在第一行
- 应用
- 显示使用父类构造方法
Java Object类
- 所有类的父类,所有类默认继承Object类
- 方法
- toString()方法
- 返回对象的哈希code码(对象地址字符串)
- equals()方法
- 比较对象的引用是否指向同一块内存地址
多态
- 对象具有多种形态
- 引用的多态
- 父类的引用可以指向本类
- 父类的引用可以指向子类对象
- 方法的多态
- 创建本类对象,调用本类方法
- 创建子类对象,调用子类重写的方法
引用类型转换
- 向上类型转换
- 隐式的\自动的类型转换
- 向下类型转换
- 强制类型转换
- 避免溢出问题:使用if(xxx instanced yyy)即可强转
Java抽象类
- 关键字:abstract
- 目的:约束子类应该包含怎样的方法,而不关心子类如何去实现
Java接口
- 特征:内部全部是全局常量和公共的抽象方法组成
- 概念:定义了一批类需要去遵循的规范,它不关心这些类的内部数据和方法的实现细节,只关心这些类里必须提供某些方法
- 关键字:interface
- 使用接口
- 关键字:implements
- 接口引用指向一个实现了该接口的对象
- 与匿名内部类使用
- 目的:描述两个不同类之间的共同特征
Java常用UML
- 用例图
- 表达系统如何满足所收集的业务规则,以及特定用户需求等信息
- 序列图
- 按照交互发生的一系列顺序,显示对象之间的这些交互
- 类图
- 类图,业务逻辑和所支持的结构一同被用于定义全部的代码结构
Java基础学习(2)的更多相关文章
- Java基础学习-- 继承 的简单总结
代码参考:Java基础学习小记--多态 为什么要引入继承? 还是做一个媒体库,里面可以放CD,可以放DVD.如果把CD和DVD做成两个没有联系的类的话,那么在管理这个媒体库的时候,要单独做一个添加CD ...
- Java基础学习中一些词语和语句的使用
在Java基础学习中,我们刚接触Java会遇到一些词和语句的使用不清的情况,不能很清楚的理解它的运行效果会是怎么样的,如:break,continue在程序中运行效果及跳转位置, 1.先来看看brea ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- 转载-java基础学习汇总
共2页: 1 2 下一页 Java制作证书的工具keytool用法总结 孤傲苍狼 2014-06-24 11:03 阅读:25751 评论:3 Java基础学习总结——Java对象的序列化和 ...
- java基础学习总结——开篇
java是我学习的第一门编程语言,当初学习java基础的时候下了不少功夫,趁着这段时间找工作之际,好好整理一下以前学习java基础时记录的笔记,当作是对java基础学习的一个总结吧,将每一个java的 ...
- Java基础学习笔记(一)
Java基础学习笔记(一) Hello World 基础代码学习 代码编写基础结构 class :类,一个类即一个java代码,形成一个class文件,写于每个代码的前端(注意无大写字母) XxxYy ...
- java基础学习总结——java环境变量配置(转)
只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之 ...
- JAVA基础学习-集合三-Map、HashMap,TreeMap与常用API
森林森 一份耕耘,一份收获 博客园 首页 新随笔 联系 管理 订阅 随笔- 397 文章- 0 评论- 78 JAVA基础学习day16--集合三-Map.HashMap,TreeMap与常用A ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
- [转帖]java基础学习总结——多态(动态绑定)
https://www.cnblogs.com/xdp-gacl/p/3644035.html 多态的概念 java基础学习总结——多态(动态绑定) 一.面向对象最核心的机制——动态绑定,也叫多态
随机推荐
- formData和input的file结合使用
<form method="POST" id="uploadForm" enctype="multipart/form-data"&g ...
- HBase调优案例(三)——Spark访问HBase慢
负载信息:RegionServer:3个 Region:5400多个 现象:在使用Spark对HBase进行scan操作时发现有些task执行比较慢 原因分析:查看Spark应用的executor日志 ...
- 用Jquery选择器计算table中的某一列某一行的合计
核心算法: $('#tableId tr').each(function() { $(this).find('td:eq(columnIndex)').each(function() { totalA ...
- zay大爷的神仙题目 D1T1-大美江湖
在前几天的时候,千古神犇zay(吊打zhx那个)出了一套神仙题目,所以我得来分析分析QWQ 先补个网易云链接QWQ 毕竟是T1嘛,还算是比较简单的,那道题,读完题目就发现是个中等模拟(猪国杀算大模拟的 ...
- Jenkins安装以及配置
Jenkins介绍 Jenkins是一个java开发的.开源的.非常好用持续集成的工具,它能帮我们实现自动化部署环境.测试.打包等等的工作,还可以在构建任务成功或者失败之后给我们发邮件通知. 什么叫持 ...
- Selenium学习之==>Xpath使用方法
一.什么是Xpath XPath是XML的路径语言,通俗一点讲就是通过元素的路径来查找到这个标签元素. 工具 Xpath的练习建议大家安装火狐浏览器后,下载插件,FireBug.由于最新版火狐不再支持 ...
- SELECTION-SCREEN屏幕范例
1. SELECTIION-SCREEN的語法: SELECTION-SCREEN BEGIN OF SCREEN SCR....SELECTION-SCREEN END OF SCREEN SCR. ...
- Gradle之Gradle 源码分析(四)
Gradle 的启动 constructTaskGraph runTasks finishBuild gradle 脚本如何编译和执 插件调用流程 一.Gradle 的启动 1.1 整体实现图 1.2 ...
- Django聚合数据
背景: 有些时候,光靠数据库中已有字段的数据,还不足以满足一些特殊场景的需求,例如显示一个作者的所有书籍数量. 这时候就需要在已有数据基础上,聚合出这些没有的数据. 为查询集生产聚合: Django ...
- 【MM系列】SAP MM模块-如何修改物料的移动平均价
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP MM模块-如何修改物料的移动 ...