慕课笔记-Java入门第二季
1.java对象的使用
(1)创建对象
类名 对象名=new 类名();
(2)使用对象
引用对象的属性:对象名.属性;
引用对象的方法:对象名.方法();
Note:
①Java会给成员变量赋初始值,不会给局部变量赋初始值。
②在成员变量和局部变量重名时,局部变量有更高的优先级。
2.构造方法
构造方法与类名相同且没有返回值。
不需要用对象名.方法();的形式来调用,直接创建对象后即可调用。
当没有指定构造方法时,系统会自动添加无参的构造方法。
3.static使用
static变量,属于整个类所有而不是某个对象所有,即被类的所有对象所共享。静态变量可以使用类名直接访问,也可以使用对象名进行访问。
①静态方法中可以直接调用同类中的静态变量,但不能直接调用非静态变量。如果希望在静态方法中调用非静态变量,可以通过创建类的对象,然后通过对象来访问非静态变量。
②普通成员方法中,可以直接访问同类的非静态变量和静态变量。
③静态方法中不能直接调用非静态方法,需要通过对象来访问非静态方法。
④创建静态内部类的对象时,不需要外部类的对象,可以直接创建 内部类 对象名=new 内部类();。
⑤方法内部类定义在外部类的方法中,只在该方法内部所见,因此不能使用访问控制符和static修饰符。
4.继承的初始化顺序
①初始化父类再初始化子类;
②先执行初始化对象中属性,再执行构造方法中的初始化(和代码顺序无关)。
5.final使用
final修饰类,则该类不能被继承。
final修饰属性,则该属性不会进行隐式的初始化,必须初始化属性或者在构造方法中赋值(只能选其一)。
6.super使用
①子类的构造的过程中必须调用其父类的构造方法。
②如果子类的构造方法中没有显式调用父类的构造方法,则系统默认调用父类无参的构造方法。
③如果显式地调用构造方法,必须在子类的构造方法的第一行。
④如果子类既没有显式地调用父类的构造方法,父类又没有无参的构造方法,则编译报错。
7.Object类
所有的类默认继承Object。
①toString()方法
在Object类里面定义toString()方法的时候返回的对象的哈希code码(对象地址字符串)。
可以通过重写toString()方法表现出对象的属性。
②equals()方法
equals()方法比较的是对象的引用是不是指向同一块内存地址。
可以通过重写equals()方法来比较两个值是否一致。
示例:
public boolean equals(Object obj){
if(this==obj) //判断两个对象指向的地址是否一致
return true;
if(obj==null) //判断obj对象是否为空
return false;
if(getClass()!=obj.getClass()) //判断两个对象的值是否相等
return false;
Dog other =(Dog) obj; //将obj对象转换为Dog类型
if(age!=other.age) //判断两个对象的属性是否相等
return false;
}
8.多态
①引用多态
示例:类Dog继承类Animal
Animal obj1=new Animal(); //父类的对象引用本类的对象
Animal obj2=new Dog(); //父类的对象引用子类的对象
Dog obj3=new Animal(); 子类的对象不能引用父类的对象
Dog dog=new Dog();
Animal animal=dog; //向上类型转换,自动类型转换
if (animal instanceof Cat){ //这时候animal实际是Dog类型对象,无法转换成Cat对象
Cat cat=(Cat)animal; //向下类型转换,强制类型转换
}else{
System.out.println("无法进行类型转换");
}
②方法多态
创建本类对象时,调用的是本类的方法;
创建子类对象时,调用的是子类重写的方法、子类继承父类的方法或者子类自己的方法。
9.抽象类
抽象类约束子类中的方法。
抽象类中的抽象方法没有方法体,以分号结束。
10.接口
接口可以理解为一种特殊的类,由全局常量和公共的抽象方法组成。
类是单继承的,接口可以多继承。
接口里属性是常量,即使定义时不添加public abstract修饰符,系统也会自动加上。
接口的实现和调用和抽象类类似,以下介绍两种特殊的接口实现方式:
①IPlayGame ip=new IPlayGame(){
public void playGame(){
System.out.println("使用匿名内部类的方法实现接口");
}
};
ip.playGame();
②new IPlayGame(){
public void playGame(){
System.out.println("使用匿名内部类的方法实现接口");
}
}.playGanme();
慕课笔记-Java入门第二季的更多相关文章
- 慕课笔记-Java入门第一季
[初步复习Java编程基础,记录知识盲点和遗漏点] 1.switch语法 switch(表达式){ case 值1: 执行代码块1; break; case 值2: 执行代码块12; break; c ...
- JAVA入门第二季(mooc-笔记)
相关信息 /** * @subject <学习与创业>作业1 * @author 信管1142班 201411671210 赖俊杰 * @className <JAVA入门第二季&g ...
- Java入门第二季学习总结
课程总概 该门课程作为java入门学习的第二季,是在有一定的java基础上进行的进一步学习.由于该季涉及到了java的一些核心内容,所以相对第一季来说,课程难度有所提升.大致可将该季的课程分为五部分: ...
- Java入门 第二季第三章 继承
这是我学习慕课网Java课程的笔记,原视频链接为:http://www.imooc.com/learn/124 3-1 Java 中的继承 ★ 概念:继承是类与类的一种关系,是一种 "is ...
- 慕课网_Java入门第二季
第1章 类和对象 1-1 什么是类和对象 (07:36) 1-2 如何定义 Java 中的类 (07:18) 1-3 如何使用 Java 中的对象 (04:45) 1-4 练习题 1-5 Java 中 ...
- JAVA入门第二季 第一章 类和对象
面向对象编程 Object Oriented Programming OOP 第一.什么是类和对象 在具体说明类和对象之前,先说说别的. 眼睛在人类身体上最为有用的器官.如果一个没有了眼睛,这个人与世 ...
- Java入门第二季第2章封装
什么是 Java 中的内部类 问:什么是内部类呢? 答:内部类( Inner Class )就是定义在另外一个类里面的类.与之对应,包含内部类的类被称为外部类. 问:那为什么要将一个类定义在另一个类里 ...
- 《Java入门第二季》第四章 多态
Java 中的多态1.引用的多态:意思就是父类的句柄既可以持有本类的对象,也可以持有子类的对象. 2.方法的多态:注意点是当父类句柄持有子类对象的时候,无法调用子类特有的方法. 多态中的引用类型转换1 ...
- 慕课网-Java入门第一季-7-4 编程练习
来源:http://www.imooc.com/code/1634 小伙伴们,请根据所学知识,参考注释,在代码编辑器中将代码补充完整.编写一个 Java 程序,实现输出学生年龄的最大值 要求: 1. ...
随机推荐
- ArcGIS10和ArcGIS10.1关于AO Licence初始化的问题
两个版本主要是esriLicenseProductCode.esriLicenseProductCodeArcInfo和esriLicenseProductCode.esriLicenseProduc ...
- 【智能无线小车系列九】在树莓派上使用USB摄像头
材料准备: 1.树莓派 2.AS 4WD小车 3.WebCam 4.小米移动电源 5.TP—LINK 高增益150MUSB无线网卡 操作流程: 1.将WebCam插上树莓派后,首先要确认树莓派是否支持 ...
- Shell脚本学习指南笔记
Shell脚本学习指南 作者:Danbo 2015-8-3 脚本编程语言与编译型语言的差异 许多中型.大型的程序都是用编译型语言写的,例如:C.C+.Java等.这类程序只要从源代码(Source C ...
- 官方文档Core Technologies - Part 1
首先介绍系列文章内容及Spring Framework官方文档情况. 在这一系列学习中,我阅读的主要资源是5.1.2 Reference Doc.,以及论坛大神的讲解blog.另外,Spring官方也 ...
- 关于lock锁
在 jdk1.5 之后,并发包中新增了 Lock 接口(以及相关实现类)用来实现锁功能,Lock 接口提供了与 synchronized 关键字类似的同步功能,但需要在使用时手动获取锁和释放锁. lo ...
- codeforces A. Punctuation 解题报告
题目链接:http://codeforces.com/problemset/problem/147/A 题目意思:给定一篇文章,需要对这篇文章进行编辑,使得:(1)两个单词之间有一个空格分开 (2) ...
- dancing link 精确覆盖 重复覆盖 (DLX)
申明:因为转载的没有给出转载链接,我就把他的链接附上,请尊重原创: http://www.cnblogs.com/-sunshine/p/3358922.html 如果谁知道原创链接 给一下,请尊重原 ...
- SDOI2017 Round1 Day1 题解
不知道有几个AK的,除了出题人SB搬了个BZOJ3779以外,应该没什么因素阻碍AK吧.要是SCOI考这套题多好. BZOJ4816 数字表格 SB反演,推出答案为$\prod_{i=1}^nf^{\ ...
- Tutte矩阵求一般图最大匹配
[集训队2017论文集] 一张无向图的Tutte矩阵为 其中xi,j为一个random的值. Tutte矩阵的秩(一定为偶数)/2 就是这张图的最大匹配. 原理大概就是: 一个图有完美匹配,则det( ...
- HDU1203(01背包变形)
I NEED A OFFER! Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u D ...