Java学习笔记

2017.04.16
JAVA学习笔记
输入设备异常、类型转换异常
try {
BufferedReader in = ...
String inputLine = in.readLine();
value = Integer.valueOf(inputLine).intValue();
} catch (Exception exc) {
// 出现异常的处理代码
}

Static关键字注解 独立于实例,即不能用this super来调用
实际上你需要搞明白,private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。
被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享。
http://www.cnblogs.com/beanmoon/archive/2012/04/25/2470298.html

Continue 回到判断,break 退出循环
Main函数中:string[] args 是函数的传递参数,用来接收参数
This对本类的形参和变量名重合时区分,super引用父类方法 //非完整
访问权限修饰词:public ;protected 继承的类可访问;private 只有本类可以访问;默认 包访问权限;
标识符可以由字母、数字、下划线(_)、美元符($)组成,但不能包含 @、%、空格等其它特殊字符,不能以数字开头。譬如:123name 就是不合法滴;

优秀攻城师的习惯:
1、变量名由多单词组成时,第一个单词的首字母小写,其后单词的首字母大写,俗称骆驼式命名法(也称驼峰命名法),如 myAge
2、变量命名时,尽量简短且能清楚的表达变量的作用,做到见名知意。如:定义变量名 stuName 保存“学生姓名”信息
PS: Java 变量名的长度没有限制,但 Java 语言是区分大小写的,所以 price 和 Price 是两个完全不同的变量哦!
final 关键字 常量名 = 值;

Arrays 类是 Java 中提供的一个工具类,在 java.util 包中。该类中包含了一些方法用来直接操作数组,比如可直接实现数组的排序、搜索等:
Arrays.toString(数组名); Arrays.sort(数组名);

foreach 并不是 Java 中的关键字,是 for 语句的特殊简化版本,在遍历数组、集合时, foreach 更简单便捷。从英文字面意思理解 foreach 也就是“ for 每一个”的意思,那么到底怎么使用 foreach 语句呢?
注意:foreach 不能赋值;编译器1.5以上才能用
面向对象:
成员变量:整个在类中 有一个初始值
局部变量:仅限于在定义的方法内部中;没有初始值;在一个方法中一个
两类变量重名时,局部变量优先
Java 中的 static 使用之静态变量:它属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。
Java 中的 static 使用之静态方法:
1、 静态方法中可以直接调用同类中的静态成员,但不能直接调用非静态成员。如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
2、 在普通成员方法中,则可以直接访问同类的非静态变量和静态变量,
3、 静态方法中能直接调用静态方法,不能直接调用非静态方法,需要通过对象来访问非静态方法
Java 中的 static 使用之静态初始化块: 可创建多块
执行顺序:静态初始化块(只一次)、普通初始化块、构造方法
静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。

面向对象三大特性:封装、继承、多态
封装:1.只通过规定方法访问;2.隐藏类的实例细节,方便修改和实现;
设为Private – getter/setter方法:属性读写用 – 加入属性控制语句:判断属性合法性
包:管理Java文件;解决同名文件冲突
定义包:package 注:放在源程序第一行,用“.”
例如系统包:
java.(功能).(类)
java.lang.(类) 包含Java语言基础的类
java.util.(类) 包含Java语言中各种工具类
java.io.(类) 包含输入,输出相关功能的类
包的使用:
1.可以通过使用import关键字,在某个文件使用其他文件中的类。
2.Java中,包的命名规范是全小写字母拼写
3.使用的时候可以加载某个包下的所有文件 eg:com.imooc.*
也可以加载某个具体子包下的所有文件

Java的访问修饰符:
本类 同包 子类 其他
private 1
默认 1 1
protected 1 1 1
public 1 1 1 1
This关键词:this关键字其实相当于帮你创建当下类的一个具体对象,你不用this的话就得自己实例化一下。这样说比较明白吧。
this是类内部对对象本身的一个引用
1、它方便类中方法访问自己的属性,set方法中,如果传入同名的形参,没有this无法赋值,java是就近原则
2、只能通过this(),实现在构造器中调运另外一个构造器,不用this没法调运。
3、this作为方法的返回值,可以实现java中链式写法。 ?

内部类:
1)成员内部类:
内部类可以任意的访问外部类里面的成员,不论外部成员的访问权限是什么。
定义内部类之后 ,必须需要用外部类来创建内部类对象。
当外部类和内部类同时出现相同的成员变量名是,如果要访问外部成员变量需要this关键字
2)静态内部类: 直接创建 内部类 对象名= new 内部类();
但可通过new 外部类().成员 访问外部类非静态成员;如果外部类的静态成员与内部类的成员名称相同,可通过“类名.静态成员”访问外部类的静态成员;
3)方法内部类:内部类定义在外部类的方法中,只在外部类该方法中使用;方法内部类不能使用访问控制符和 static 修饰符。

继承 class 子类 extends 父类 先父类后子类
方法的重写 返回类型、方法名、参数与父类一致
final关键字:
1) 类,不被继承;2)方法,不被覆盖(重写);3)属性,类初始化必须有值或者构造方法赋值(二选一);4)变量,只能赋值一次,常量
Super关键字:在对象内部使用,可以代表父类对象。 访问父类属性、方法
子类构造方法必须调用构造父类方法(隐式 super调用父类方法,显式必须放在第一行)
Object所有的父类 哈希code判读对象
1) toString方法 输出属性值;默认输出对象地址
2) equals 方法 两个对象的引用是否相同内存地址;dog.equals(dog2)
类对象 obj.getClass() 类的代码信息 VS 类的对象

多态:
1.引用多态
1) 父类引用指向本类;
2) 父类引用指向子类; Animal dog = new Dog();
2.方法多态
引用类型转换 向上转换;向下转换(有风险,溢出)强制类型转换 Dog dog2 = (Dog)animal
用instanceof判断是否进行类型 if(animal instacnof cat)

抽象类 abstract:约束子类必须实现某些方法,但不关注细节
抽象方法没有方法体{}分号结束;

接口:修饰符 interface 接口名 [extends 父接口1,2。。。] 不能protected private
接口属性是常量,接口方法为抽象方法,不能有方法体
子类继承父类实现接口的语法:修饰符 class 类名 父类 implements 接口1,接口2…
1)接口引用:IPlayGame ip1 = new SmartPhone(); 引用实现了接口的对象
2)或者 使用匿名内部类 IPlayGmae ip2 = new IPlayGmae(){ 匿名内部类};
3)或者直接NEW一个然后.方法:new interface(){}.方法


设计过程 //入门要求即会看
UML :unified modeling language 统一建模语言或者标准建模语言
支持模型化和软件系统开发图形语言
常用UML :
1) 用例图 use case diagram 可视化
2) 序列图 sequence diagram 交互关系及顺序
3) 类图 class diagram 类属性方法等,业务逻辑 //可以直接创建class
建模工具 visio、rational rose、powerdesigner

项目分析: (以答答租车为例)
1、 数据模型分析 操作(方法)、属性
车的类型,载客量/载货量
2、 业务模型分析 在设计程序之前,明确该程序必须执行哪些任务
例:选车,租车天数、统计金额、载客、货量

3、 显示和流程分析 用户看到的各种界面,显示流程是步骤
例:选择车辆-> 输入序号-> 输出总金额

选车:1、2、3、4、5

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容