2020.10.22 instanceof(判断对象类型) 类型转换 static关键字 抽象类 接口

instanceof

判断对象类型

判断对象a 是否和A , B ,Object存在继承关系

     A a = new A();
        B b = new A();
        Object c = new A();
         System.out.println(a instanceof A);
        System.out.println(a instanceof B);
        System.out.println(a instanceof Object);
        输出:true
true
true

类型转换

1.父级转子级,向下转型,需要强制转换
2.子级转父级向上转型会丢失一些属性

static:和类一起加载

非静态变量可以被类直接调用,不需要new 一个对象

package com.baidu.www.operater.objec.duotai;

public class B {
    private static int age;//静态变量
    private double score;//非静态变量
    public static void main(String[] args) {
        //静态变量可以被类直接调用
        System.out.println(B.age);
    }


}

非静态方法可以调用静态方法,静态方法不能调用非静态方法

package com.baidu.www.operater;

public class 静态 {
    public static void go(){
        
    } 
    public void run(){
        go();
    }
}

**静态代码块 匿名代码块 **
静态代码块和类一起加载所以 首先出现(只加载一次)
匿名加载快可以用于赋初值

package com.baidu.www.operater;

public class 静态 {
    {
        //匿名代码块
        System.out.println("匿名代码块");
    }
    static {
        //静态代码块
        System.out.println("静态代码块");
    }
    public 静态(){
        System.out.println("a");
    }

    public static void main(String[] args) {
  静态 a = new 静态();
        System.out.println("==========");
        静态 b = new 静态();//静态代码块只加载一次
    }
}

输出结果:
静态代码块
匿名代码块
a

==========
匿名代码块
a

抽象类

public abstract class A{
}
抽象类通过abstract实现
不能被new出来,只能通过子类(重写)来实现它;
抽象类中可以写普通方法,抽象方法只能在抽象类中;

接口

接口的定义 Interface
public interface UserService{
}
1.接口中的方法都是抽象的,默认添加了Public stract;
接口中的属性都是常量,默认添加了 public static

package com.baidu.www.operater.Userservice;

public interface UserService {
    //接口中的方法都是抽象的 public abstract
    void add(String name);
    void delete(String name);
    void update ( String name);
    void query(String name);
}

package com.baidu.www.operater.Userservice;

public interface TimeService {
    void add(int time);
    void delete(int time);
    void update ( int time);
    void query(int time);
}

2.接口的实现
接口的实现可以实现多个接口
实现接口的类必须重写接口中的方法
public class ServiceImpl implements +接口名{
}

package com.baidu.www.operater.Userservice;
//接口可以多继承
//实现接口的类就需要重写接口的方法
public class UserServiceImpl 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 delete(int time) {

    }

    @Override
    public void add(int time) {

    }

    @Override
    public void query(int time) {

    }

    @Override
    public void update(int time) {

    }
}

总结
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值