2021-08-16 java基础(抽象类,接口...)

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() {
​
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值