JAVA笔记

发布时间:2024年01月03日

1.静态属性static


意义:该数据需共同使用,如同一个学校,同一个班

可以通过类名Person.sid直接访问

公共静态属性:
public static String name="hsy"

私有静态属性:
private static String school="重庆大学"

静态方法:只能调用静态属性
public static void add(){...}

2.final修饰?


final不可改变的值、不能重写的方法,不能被继承

final int k=100;

public final void add(){...}

3.抽象类abstract


抽象方法必须重写,用abstract修饰

意义在于继承

// 抽象类和抽象方法需要被 abstract 关键字修饰
abstract class Shape {
    // 抽象类中的方法一般要求都是抽象方法,抽象方法没有方法体
    abstract void draw();
             void eat(){
                   System.out.println("一顿不吃饿得慌");
        }
}

4.接口


类似抽象类

内部方法必须重写

意义在于多态

interface add {
    void draw();
}

?5.异常

import java.util.Scanner;


public class Demo4 {

    public static boolean isNull(String input) throws RegisterException{

        if (input.isEmpty()){

            throw new RegisterException("输入信息不能为空");

        }

        return true;



    }

    public static void main(String[] args) {

        boolean temp;

        Scanner scanner=new Scanner(System.in);

        String inputString=scanner.nextLine();

        try {

            temp=isNull(inputString);

            System.out.println(temp);

        } catch (RegisterException e) {

            e.printStackTrace();

        }finally {

            System.out.println("异常处理实例");

        }

    }

}

class RegisterException extends Exception{

    public RegisterException() {

    }

    public RegisterException(String msg) {

        super(msg);

    }

}


?对象转型

向上转型:自动转型

Person hsy=new Student();

 Pig pig = new Pig();
 Animal animal = pig;//转型:自动向上转型

向下转型:强制类型转换

Pig pig = new Pig();
Animal animal = pig;   //转型:自动向上转型
      //将Animal转为Pig类型
Pig pig = (Pig)animal ;//转型:强制向下转型

泛型?

在main中实现型?

类:

class Gen<T,V>
{ 
   private T data;
   private V name;
}
public class hello
   public static main(String arg[])
{ 
  {
     Gen<int,String> aaa=new Gen<int,String>(); //实例化泛型

  }
}

接口:?

interface Gen<T>
{
   private T name;
   T getT(T name,int num);
}
class Sub<T> implements Gen<T>
{
   private T class;
   T getT(){
         return T;
     }
}

在子类中实现泛型:

interface Gen<T>
{
   private T name;
   T getT();
}
class Sub implements Gen<String>  //注意!!!此时已经规定泛型类型
{
   private T class;
   T getT() {
         return T;
        }
}

实现泛型方法:静态

pubic class Utils{
    public static <T> void display(Gen<T> aa) //注意格式!!!
{
      System.out.println("姓名"+ aa.getname +"年龄"+ aa.getage );
}

测试类总览:类名.方法

public class Test{
   public static void main(String[] args){
     Society<String> aaa=new Society<>();  //实例化为空值,此时这里没有构造方法,注意格式!
     aaa.set("啦啦啦",39);     //调用方法初始化
     Utils.display(aaa);      //类名.方法 调用泛型方法!!!!
  }
}

文章来源:https://blog.csdn.net/QoQ_____________/article/details/134770329
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。