JAVA OOP 基础知识提纲
OOP:
面向对象: 认识事物的一个过程,是整体(特征/行为)
认识事物的方式.人类认识事物的自然思维习惯。 对象及类
对象是实实在在具体存在的东西,主要是从两个角度(行为,特征)去观察
类:是一组具有相同属性和行为的对象集合。类是抽象的概念,不是具体的。
类与对象的关系:
对象是类的实例(具体化),类是对象的抽象. 对象之间的关系:
消息的传递(方法的调用). 对象的特征:
封装:对象的属性,行为包裹在一起。有利于信息的隐藏.
继承:子类继承父类非私有的属性和方法。
多态:相同的行为有不同的表现(实现)形式.(通过继承、接口与实现的形式来实现多态) 类:
类的定义:
语法:[访问修饰符] class 类名 {
}
注意:如果访问修饰符为public时,则Java程序的文件名要与类名保持一致。
组成:属性+方法
根据属性的可变性将属性分为组件属性和状态属性
组件属性:不可变,通过常量的形式来实现。
常量的定义: final 数据类型 常量名(字母大写)=值
状态属性: 可变,通过变量的形式来实现。 方法: 普通的方法。
构造函数: 方法名要与类名保持一致.
构造函数没有任何返回类型。
通过构造函数来初始化类中的属性。
如果构造函数重载了,则需要显性定义构造函数. eg:Student stu=new Student();
public Student(){}
用来定义属性和方法的访问修饰符:
public:所有的地方都可以访问属性和方法
private 只局限于类本身,当前类能访问。Student stu= new Studnet(); stu.userName;
protected 当前包所在的类能访问。子类能访问(从继承的角度)。
默认(default) 在同一个包中能访问. 特殊实例:this 代表着当前类的实例。 类的关系:(我们自己写的类可以视为自定义数据类型)
has a :一个类的变量作为另外一个类的属性
A,B 类
public class A {
B b;
}
is a:是继承的关系。
命名习惯: 类名: 首写字母大写,单词之间大写(public class Student{})
方法名,变量: 首写字母小写,单词之间大写 (eg:String studentName)
常量:所有字母大写. 继承:
继承的实现 extends
public class MaleStudent extends Student{
}
注意:父类的抽象方法在子类中必须实现。
父类与子类的关系
)子类调用父类的构造函数.
super() 调用父类的构造函数
super.属性
super.方法();
super代表着父类.
)访问修饰符
私有的属性和方法不会被子类继承. )方法修饰符
static :静态方法只能调用静态方法和静态属性,但是 主方法main除外. final: 修饰的方法不能被重写,修饰的类不能被继承. abstract: 用来修饰抽象方法和抽象类
抽象类不能被实例化(不能使用new运算符)
抽象方法必须要在子类中实现.
多态:可以通过继承关系来实现多态. 问题:
super的应用.
动态绑定:是一种做法,将子类的实例赋给父类定义的变量
将实现类的实例赋给接口定义的变量
异常:
try catch finally throw throws
数组:
什么是数组:
数组的定义,初始化,赋值,遍历
常用的类:
javadoc
基本数据类型对应的包装类(包装类与基本数据类型的相互转换)
String与StringBuffer
日期格式化(Date,SimpleDateFormat)
集合 :
: 集合框架
: 常用集合类操作 ArrayList,HashSet,HashMap,Properties
常用算法,比较器 :排序,比较等.
:带泛型的集合.
I/O:
字节流
字符流
对象流
javaBean(VO):
反射:
)获得Class对象
)找构造方法,并动态的实例化
)找方法,并动态调用方法.
多线程:
)多线程用在什么地方(什么时候使用).
)多线程如何实现
a)继承 Thread
b)实现接口 RunAble
)如何启动线程
start();
实现接口 RunAble的线程不能直接调用,需要借助Thread
net:
)tcp
)udp
)URL
JAVA OOP 基础知识提纲的更多相关文章
- Java 多线程——基础知识
java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...
- java必备基础知识(一)
学习的一点建议: 每一门语言的学习都要从基础知识开始,学习是一个过程,"万丈高楼平地起",没有一个好的地基,想必再豪华的高楼大厦终究有一天会倒塌.因此,我们学习知识也要打牢根基,厚 ...
- 什么才是java的基础知识?
近日里,很多人邀请我回答各种j2ee开发的初级问题,我无一都强调java初学者要先扎实自己的基础知识,那什么才是java的基础知识?又怎么样才算掌握了java的基础知识呢?这个问题还真值得仔细思考. ...
- java部分基础知识整理----百度脑图版
近期发现,通过百度脑图可以很好的归纳总结和整理知识点,本着学习和复习的目的,梳理了一下java部分的知识点,不定期更新,若有不恰之处,请指正,谢谢! 脑图链接如下:java部分基础知识整理----百度 ...
- JAVA相关基础知识
JAVA相关基础知识 1.面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分, ...
- Java SE 基础知识(一)
一.基础知识 1. Java SE : Java Standard Edition Java ME : Java Micro Edition Java EE : Java Enterprise Edi ...
- JAVA多线程基础知识(一)
一. 基础知识 要了解多线程首先要知道一些必要的概念,如进程,线程等等.开发多线程的程序有利于充分的利用系统资源(CPU资源),使你的程序执行的更快,响应更及时. 1. 进程,一般是指程序或者任务的执 ...
- JAVA学习基础知识总结(原创)
(未经博主允许,禁止转载!) 一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平 ...
- java正则表达式基础知识(转)
1基础 2.1 简单字符类 构造 描述 [abc] a,b或c [^abc] 除a,b或c外的字符 [a-zA-Z] a至z 或 A至Z [a-d[m-p]] a至d 或 m至p [a-z&& ...
随机推荐
- Android -- 是时候来了解一波EventBus了
1,最早在项目中使用EventBus是在去年的时候,但自己一直没抽出时间来记录记录一下,今天就来简单的使用一下,先看一下EventBus的定义是什么 EventBus:是一个发布 / 订阅的事件总线. ...
- SharpZipLib 文件/文件夹压缩
一.ZipFile ZipFile类用于选择文件或文件夹进行压缩生成压缩包. 常用属性: 属性 说明 Count 文件数目(注意是在ComitUpdat之后才有) Password 压缩包密码 Siz ...
- 在linux中访问virtualbox的共享文件夹
1.在客户机里需要安装Virtualbox的增强功能. 2.使用virtualbox的图形界面设置好共享文件夹. 3.假设你设置的共享文件夹的名称是 share,使用如下命令在客户机的linux系统中 ...
- cxf(3.1.1) 客户端异常 请使用 @XmlType.name 和 @XmlType.namespace 为类分配不同的名称。
最近项目使用webService 于是就使用了最新版本 3.1.1 . cxf 客户端调用时老是出现这个错误,综合网上各种资料修改如下,问题解决 "@XmlType.name 和 @XmlT ...
- Visual Studio 2010(.NET 4.0)中使用SQLite.NET
Visual Studio 2010(.NET 4.0)中使用SQLite.NET 2011年4月1日 | 分类: DataBase, DOTNET | 标签: .net 4.0, SQLite. ...
- Windows便笺 快捷键
便笺快捷键 便笺快捷键多数与Office相同 Ctrl+N 新建 Alt+F4 关闭便笺,下次打开内容还在 Ctrl+D 删除 Ctrl+E 居中 Ctrl+R 右对齐 Ctrl+L 左对齐 Ctrl ...
- [Effective JavaScript 笔记]第67条:绝不要同步地调用异步的回调函数
设想有downloadAsync函数的一种变种,它持有一个缓存(实现为一个Dict)来避免多次下载同一个文件.在文件已经被缓存的情况下,立即调用回调函数是最优选择. var cache=new Dic ...
- wex5 实战 二维码生成,扫描,蓝牙打印
给人设计了一个小模块,要求是,把一个单号生成二维码,实现扫描查询单号具体信息,并能通过蓝牙把二维码打印出来.功能实现并不复杂,今天一口气把它搞定.来看效果. 一 效果演示: 二.二维码生成 1 在 ...
- [课程设计]Scrum 1.5 多鱼点餐系统开发进度(点餐页面框架修复及继续布置)
Scrum 1.5 多鱼点餐系统开发进度(点餐页面框架修复及继续布置) 1.团队名称:重案组 2.团队目标:长期经营,积累客户充分准备,伺机而行 3.团队口号:矢志不渝,追求完美 4.团队选题:餐厅 ...
- Java菜鸟培训第二天
HTML——超文本标记语言…………… 静态网页:不需要访问数据库. 动态网页:在网上发布的好的,我们能通过网络浏览到的都是动态的,需要访问数据库. <html>--开始标签 <hea ...