java基础
类型转换
当子类转父类的时候,可以自动转换;——但可能丢失一些原本的方法;低转高
当父类转为子类的时候,需要进行强制性转换;——高转低
作用:方便方法的调用,减少重复的代码;
static:静态 有了static的可以直接通过类进行访问,也可以通过实例化对象访问;
而非静态变量需要通过实例化的对象进行访问;
非静态的可以调用静态方法,静态方法也可以调用静态方法,但是静态方法不能调用非静态;
public class rub {
{
System.out.println("匿名代码块!");
}//第二个执行:赋初始值;
static {
System.out.println("静态代码块!");
}//只执行一次;且是最开始执行的;
public rub() {
System.out.println("构造方法");
}
呗fanal修饰的类不能被继承;
抽象类 abstruct
abstract,抽象方法,只有方法名字,没有方法的实现;
public abstract void dosomething();//不能new这个抽象类,只能靠子类去实现它;
当子类需要继承的时候,就需要重写该方法;
public class den extends Applica {
@Override
public void dosomething() {
}
}
extends:只能单继承,接口可以多继承;
抽象方法必须在抽象类中;
抽象类中可以写普通的方法;
可以提高开发效率;
接口 interface
1、接口无法写方法,约束和实现分离;——接口无法进行实现,只是写方法并将不同的方法实现;
2、接口的所有定义都是默认抽象类的——潜台词,进行方法的实现(可以让不同的人完成)
3、接口可以实现多继承,但是实现接口中的类的时候,需要在子类中重写全部的方法;
定义属性就会是常量:默认为 public static fanal ...;
String name="小张";//常量小张
接口的定义:
package Deomn09;
public interface Userservice {
String name="小张";
void add(String name);
void delete(String name);
void update(String name);
void query(String name);
}
对接口的继承:
package Deomn09;
public class Uesrserviceimpl implements Userservice,Timeservice {//可以继承多个接口;
@Override
public void add(String name) {
}
@Override
public void delete(String name) {
}
@Override
public void update(String name) {
}
@Override
public void query(String name) {
}
@Override
public void timer() {
}
}