知识点:
需求分析:1.开发工具/工具版本
2.用例图 数据库设计图 流程图 E-R图 鲁班图 (推荐亿图图)
如何理解面向对象:
是当今主流的一种程序设计理念和设计规范,是向现实世界模型的自然延伸,一种“万物皆对象”的编程思想和方法。
对象分为属性(特征)和方法(行为),属性是固有的,方法是他的一些操作
类是对象的类型(抽象化),对象是类的实例(具体化)
好处:使代码更简洁,提高重用性,与人类思维一致,安全性和可维护性
String类型初始值是null,int类型初始值是0 ,注释放开头
层执行方法执行每一步
java面向对象的三大特征:封装、继承、多态
封装:一个对象和外界的联系应当通过一个统一的接口,应当公开的公开,应当隐藏的隐藏。(对象的属性应当隐藏),
封装的属性:默认值不是private,要隐藏该属性或方法加private(私有)修饰符,来限制只能够在类的内部进行访问.
继承:java中的继承要使用extends关键字,并且java中只允许单继承,也就是一个类只能有一个父类。这样就是继承关系呈树状,体现了java的简单性。
private修饰符,本类内部访问/ default修饰符,方法不加修饰符,会默认为default
protected(保护)修饰符,表示同一包中可以访问,不同包子类也访问
public修饰符,表示公开,在任何地方都可访问。(可以修饰类)
作用:使对象间的联系便的松散,使多类对象间的联系用其父类对象代替。
多态:把子类对象主观的看作是其父类型的对象,那么父类型就可以是很多种类型。
对于一个对象来说,在对象产生时,运行时类型就已经确定不会再改变,编译时类型可以和运行时类型不同。
类的方法定义:
方法不能返回多个值!
多个方法不能相互嵌套定义!
不能在方法外部直接写程序逻辑代码!
类名,返回值类型,主体
定义类的方法:访问修饰符 返回值类型 方法名(){
//方法体}
成员变量(类的属性):直接使用该类定义的成员变量,eg:public class Test
局部变量:它的作用域仅仅在定义该变量的方法内,无初始值eg :public String showInfo
区别:作用域不同
局部变量的作用域仅限于定义它的方法;成员变量的作用域在整个类内部都是可见的
初始值不同
Java会给成员变量一个初始值;Java不会给局部变量赋予初始值
this.变量名,如两个重名变量,使用会执行第一个变量
局部变量和成员变量有相同变量时,局部变量会优先执行
public和private的区别:
<1>.public是公有的 private是私有的,这些关键字用于声明类和成员的可见性;
<2>.public成员可以被任何类访问,protected成员限于自己和子类访问,
private成员限于自己访问。
<3>.public是公有的,public可以在模块中声明类和成员
private是私类和对象的关系是抽象和具体的关系
变量作用域
私有的,private成员限于自己访问,在窗体中声明时只针对本窗体有效
类定义与使用(类是一个黑匣子)
1.类和对象的关系是抽象和具体的
2.(使用类的步骤:)定义类:使用关键字 class
2)创建类的对象:使用关键字 new
3)使用类的属性和方法:使用“.”操作符
3.定义类方法的要素:1)方法的名称
2)方法返回值的类型
3)方法的主体
4.调用类方法的形式
1)同一个类的方法,直接使用方法名
2)不同类的方法,先创建对象,再使用 “对象名.方法名”
变量作用域:
成员变量在整个类内都是可见的;
局部变量仅限于定义它的方法内
一个方法中可以有多个return语句,它可以用来返回对象和数值,一个方法如果无返回值,则无需用
+符号是public,-符号是private
GC是垃圾收集器。Java 程序员不用担心内存管理,因为垃圾收集器会自动进行管理,可以自动监测对象是否超过作用域
return和break作用差不多,都是终止某个循环,跳出循环
(String[] args)是创建了一个args的数组
参数的概念:(参数是一个值)
形参是在定义方法时对参数的称呼(
实参是在调用方法时传递给方法的实际的值(
调用带参方法时要求实参与形参要匹配
包创建包使用关键字 package
导入包使用关键字 import
返回值类型以及自己建的类也是一个对象
参数类型可以是一个,多个,也可以是返回值类型
return的作用:1.输出返回结果 2.结束本次方法
参数类型:单个参数,多个参数,数据参数,对象参数
调用方法会执行方法的每一步
空指针异常: 自己建的类和String建的类.都是引用类型,它们初始值都是Null
一个方法可以有多个参数(值),但只有一个返回值
带参方法的标椎结构:<访问修饰符> 返回值类型 <方法名>(<带参列表>){
//方法的主体
}
String和StringBuffer的区别:
String是一个字符串类型,而StrungBuffer是字符串对象,适用于对字符进行频繁修改
String的方法:
.equals();判断 .concat();连接 .equalsIgnore
Case();不区分大小写 .indexOf();查找 .lastindexOf();查找最后一个 .to Lower Case();全部大写
.to Upper Case(); 全小写 .spilt();拆分 .term();空格
.subString();取出 (包头不包尾,后面多一位) .replace();代替 .length();长度
StringBuffer的方法:
to insert(); 插入 to String();转换 to append(); 连接
Stringbuffer和Stringbuilder,String区别
首先说运行速度,或者说是执行速度,在这方面运行速度快慢为:StringBuilder > StringBuffer > String
再来说线程安全,在线程安全上,StringBuilder是线程不安全的(单线程),而StringBuffer是线程安全的(多线程)。
String:适用于少量的字符串操作的情况;
StringBuilder:适用于单线程下在字符缓冲区进行大量操作的情况;
StringBuffer:适用多线程下在字符缓冲区进行大量操作的情况;
stringbuffer存储效率比string高
调换情况时要看是成员变量还是局部变量
包的命名只要不是中文即可,同时不能以圆点作为开头和结尾
在一个Java源文件只有一个包的声明语句
import导入包 错误: 运行时错误和编译时出错
java1.7的新功能:string
java1.8的新功能:
1.default方法 2.终止进程 Process类 isAlive()方法 判断进程是否活着 destroyForcibly() 强制杀死进程
3.StampedLock 读写锁 4.Optional
5 并发计数器 6.万物皆可注解
7.数值溢出 8.增强的随机数生成
9.Date.toInstant() 10.目录遍历
string 类型和StringBuffer类型进行计算,为String类型
-10/-3等于3余-1
Map集合是以键(不可重复,eg:人)值对(可重复eg:名字)存储的。
数据库中 X BETWEEN A AND B等价于 X>=A AND X<=B
eg: X BETWEEN 20 AND 30 等价于 X>=20 AND X<=30
原文:https://www.cnblogs.com/z-12345/p/14540216.html