今天花费一天时间,重新温习下Java基础,夯实下开发的基础,基础牢靠了,才能走的更远,可能写的比较乱,后期整理下
1.有必要说一下,下面的代码,只有c有赋值,a、b都是没有赋值的
String a,b,c= "abcdef";
System.out.println(a);
2.看下Java成员变量和局部变量的区别,多注意一下
3.Java的4类8种数据类型:
1)逻辑型 boolean
2)文本型 char
3)整数型 int long short byte
4) 浮点数型 float double
4.面向对象,抽象和实例的过程:
职员集合,抽象成具有共同属性的职员类,实例化后,每个职员都有自己不同的属性,包括工资,职位 之类的个性化的内容。
5.Java中的class对应现实生活中所对应的抽象,像(狗,猫,公司。。。。)
6.来谈谈构造方法
构造方法是定义在Java类中用来初始化对象的的函数,构造方法和类同名,且没有返回值,类里面如没有 构造函数也是可以的,只是属性要自己去赋值
public class Person {
int id;
String name;
public Person(int id,String name) {
// TODO Auto-generated constructor stub
System.out.println("id="+id+",name="+name);
}
}
7.方法重载
方法重载是方法名称一样,方法类型一样,但是输入参数不一样,构成的方法重载,调用的时候,根据输入参数的不一致决定使用的哪个方法,需注意的是,构造方法也是可以重载的,手动写就可以
public class Dog {
//方法重载
public String findName(String dogName){
return dogName;
}
public String findName(int id){
return Integer.toString(id);
}
}
8.方法重写
继承了父类的时候,如果不满意父类中的方法,可以对父类方法进行重写,需要注意的是,子类里面重写的方法,不能比父类被重写的方法具有更严格的权限
9.多态(非常有用)
看看下面的这个例子,就可以很好的理解多态的意义
Animal.java (作为父类存在)
public class Animal {
public void enjoy() { // 动物高兴了会叫
System.out.println("叫声。。。。。。。。。。。。。");
}
}
Cat.java (继承了Animal类)
public class Cat extends Animal {
@Override
public void enjoy() {
System.out.println("猫叫声......");
}
}
Dog.java (同样继承了Animal类)
public class Dog extends Animal {
@Override
public void enjoy() {
System.out.println("狗叫声......");
}
}
Larry.java (假设名叫Larry的人,养的宠物在不同的时间段是不一样的)
public class Larry {
private Animal pet;
Larry(Animal pet) {
this.pet = pet;
}
public void myPetEnjoy() {
pet.enjoy();
}
}
Test.java (测试Larry的养的什么宠物)
public class Test {
public static void main(String[] args) {
Dog dog = new Dog();
Cat cat = new Cat();
Larry larry = new Larry(dog);
larry.myPetEnjoy();
}
}
结果,是(这个就是多态在Java里面简单的实现)
狗叫声......
多态的实现:1.要有继承,2.要有方法重写,3.要有父类引用指向子类对象,满足这个才能构成多态
10.抽象 abstract
用abstract关键字来修饰一个类时,这个类就叫做抽象类,用来修饰方法时,就叫做抽象方法,含有抽象方法的类,必须被声明为抽象类,抽象类必须被继承,抽象方法必须被重写,抽象类不能被实例化,抽象方法只 需声明,不需实现
11.final关键字
final修饰的变量不能再被改变,final的方法不能够被重写,final的类不能被继承
12异常处理
Java的异常处理机制,能throws和try_catch来捕获这些异常
1)Error为虚拟机错误,
2)Exception为可以处理的异常,必须catch处理
3)RuntimeException为运行时异常,可以catch他,也可以不用catch他,
public void m(int i)throws ArithmeticException{
if(i==0){
throw new ArithmeticException("出错了,被除数为0");
}
}
finally中的代码段,无论会不会发生异常,一定会与运行