java基础
---恢复内容开始---
java有8种基本类型
boolean:只有true和false 位长度是1 与java虚拟机有关
char 一个字符。包含16位的unicode字符。有2的16次方的值。
局部变量是在方法内声明的变量。总是位于栈上。没有栈对象。只有栈变量。
局部对象指------------>"被局部声明的局部变量”
final :
知识总结:
重载和重写:
重载和重写的多态性:
public class Animal { public void eat (){ System.out.println("Generic Animal Eating Generically"); } }
public class Horse extends Animal{ public void eat(){ System.out.println("Horse eating hay"); } public void eat(String s){ System.out.println("Horse eating "+s); } }
public class C { public static void main(String[] args) { Animal a=new Animal(); a.eat(); Horse h=new Horse(); h.eat(); Animal ah=new Horse(); ah.eat(); Horse he=new Horse(); he.eat("Apples"); Animal a2=new Animal(); a2.equals("treats"); Animal ah2=new Horse(); ah2.equals("Carrots"); } }
重写的时候是运行时起决定。是实际的对象类型。而不是引用类型。重载的时候不是运行时决定的。
返回值类型:
重载方法:当参数列表更改的时候,返回值类型才能修改。
重写方法:只要新的返回类型是被重写的(超类)方法所声明的返回类型的子类型就允许更改重写方法中的返回类型
返回值:
必须牢记返回值的6条准则
1:可以在具有对象引用返回类型的方法中返回null。
public Person eat(){
return null;
}
2:数组是完全合法的返回类型。
3:在具有基本返回类型的方法内,可以返回任何值或变量。只要它们能够隐式转换成所声明的返回类型。
public int foo(){
char c='c';
return c;
}
4:在具有基本返回类型的方法内,可以返回任何值或变量,只要它们能够显式地强制转换成所声明的返回类型。
public int foo(){
float f=31.5f;
return (int) f;
}
5:一定不能从返回类型为void的方法返回任何值。
6:在具有对象引用返回类型的方法内,可以返回任何对象类型。只要它们能够隐式地强制转换成所声明的返回类型。
public Animal getAnimal(){
return new Horse();
}
-------------------构造函数和实例化---------------
1.6:给定一组类和超类,为一个或多个类编写构造函数,给定一个类声明,判断是否会创建默认构造函数。如果会,请确定该构造函数的行为。给定一个嵌套类或非嵌套类清单,编写代码,实例化该类。
5.3:解释继承对构造函数。实例或静态变量,以及实例或静态方法在修饰符方面的影响。
5.4:给定一个场景,编写代码,声明和/或调用重写方法或重载方法。编写代码,声明和/或调用超类,重写构造函数或重载构造函数。
1.3:编写代码,将基本类型,数组,枚举和对象作为静态变量。实例变量和局部变量声明,初始化并使用。而且,还要为变量名使用合法标识符。
重点:静态方法不能访问非静态(实例)变量,因为没有任何实例。静态方法不能直接调用非静态方法。静态=类,非静态=实例。使JVM调用的方法[main()]成为静态方法,意味着JVM开始运行代码时不必创建类的实例。是类在运行main()方法,而不是类的实例。