第十四节课
1、eclipse快捷键 alt shift s给所有属性写get set函数
2、给文件重命名: ctrl F2
3、上转型对象调用方法调用的是子类重写的方法
4、在任何情况下,子类对象都可以访问父类受保护方法(protected)
注意:
final的方法是不能被重写而不是不能被访问
5、新建类的时候可以直接认爹(如下图)
6、java中的switch可以使用String
switch(scan.next()) {
case "Apple":
fruit = new Apple();//对变量赋值
break;
case "Orange":
fruit = new Orange();
break;
case "Pear":
fruit = new Pear();
break;
default:
fruit = new Fruit();
}
7、属性与方法的区别:属性调用时不加()方法加
8、如要查看String的源码 按住ctrl点击String
9、字符串初始化的方法
String str0 = "Hello Wrold!";
String str1 = new String("Hello World!");
字符串
1、字符串的初始化方法
String str0 = "Hello Wrold!";
String str1 = new String("Hello World!");
2\字符串常用方法
/**
* 常用方法:
* length():字符串的长度
* startsWith(String str);判断字符串是否以str开始
* endsWith(String str);判断字符串是否以str结束
* equals(Object obj) 判断字符串是否相等(值是否相等)
* equalsIgnoreCase (String value):判断字符串是否相等(忽略大小写的值是否相等)
* trim() 去除字符串两端的空格并返回结果
* split(String str) 以str作为分隔符分割为字符串数组
* indexOf(String s) 检查字符串中是否有s,并返回第一次出现的位置,如果不存在,返回-1
* lastIndexOf(String s)检查字符串中是否有s,并返回最后一次出现的位置,如果不存在,返回-1
* substring(int start) 截取字符串从start位置开始到结束
* substring(int start, int endIndex)截取字符串从start位置开始到第endIndex位(不包含endIndex位置的元素)
*
*
*/
第十三节课
1、eclipse的使用
以工程为基本单位
(1)创建java project
(2)工程目录的结构:
|—.project文件:描述工程信息
|—.classpath文件:工程配置信息
|----src目录:java源文件的目录
|----bin目录:字节码文件class所在的目录
(3)eclipse快捷键
单行注释 ctrl + /
多行注释 ctrl + shift + /
删除光标所在行 ctrl + d
行代码的移动: alt + 上下键
复制选中行 ctrl + alt + 上下键
引入类文件 ctrl + shift + o
ctrl +y 撤销
一个java文件可以有多个类,但只能有一个与java文件名同名的public类
如 Main.java中只有一个public static void main(Strign[] args){}
第十二节课
1、重写父类object的equals方法
原本是必须地址一样,重写后是学生学号一样即可
public boolean equals(Object o){
if (this == o) {
return true;
}
if(o == null){
return false;
}else{
//instanceof 判断对象 o 是否为Student 类型对象或者其子类的对象
if(o instanceof Student){
Student otherStu = (Student)o;
if(stuNo != null && stuNo.equals(otherStu.stuNo)){
return true;
}else {
//返回一个boolean类性的数值如果otherStu.stuNo也为null则返回一个true
return stuNo == otherStu.stuNo;
}
}
return false;
}
}
}
2、上转型对象
Human xiaoming = new Student("20190414127");
(1)上转型对象不能使用子类新增的方法
(2)上转型对象是父类声明子类实例化
3、下转型对象
//必须强制类型转换
Student xiaoM = (Student) xiaoming;
(1)注意 xiaoM才是下转型对象
4、值传递和地址传递
(1)基本数据类型为值传递
void changeValue(int b){
System.out.println("b" + b);
b = 100;
System.out.println("b" + b);
}
(2)引用传递传递的是内存地址
void changeValue(ValueDemo vd){
vd.str = "hello World";
}
5、在java中Object是所有类的父类
(1)hashCode() 获取当前对象hashCode值
System.out.println(demo.hashCode());
6、关键字 instanceof : 检测 对象是否为某类型的对象或者其子类类型的对象
7、子类重写父类方法需满足以下条件:
1、方法名和参数列表:子类重写的方法和父类被重写的方法在方法名和参数列表方面相同
返回值:
1. 如果父类被重写的方法没有返回值类型或者返回值类型为基本数据类型,则要求子类重写的方法的返回值类型和父类被重写方法的返回值类型相同;
2. 如果父类被重写的方法返回值类型为引用数据类型,则要求子类重写的方法的返回值类型和父类被重写方法的返回值类型相同或是其子类。