day06

    xiaoxiao2024-12-03  62

    1 .static: 静态变量:有static 修饰;属于类中,存贮在方法区中,只有一份 通过类名. 来进行调用; 当所有的对象所共享的资源的时候(图片,视频,音频等) 静态方法:static 修饰;属于类中,存储在方法区,只有一份; 通过类名. 调用; 何时用?方法的操作只与参数有关,与对象无关; 静态代码块:属于类中,在类加载的期间进行自动调用,类只能被加载一次,所以静态代码块也只执行一次; 初始化,加载静态资源的时候调用 2 录入学生姓名和成绩,按升序进行输出 public class Student { String name; int grade; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getGrade() { return grade; } public void setGrade(int grade) { this.grade = grade; }

    }

    public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(“请输入学生人数:”); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); Student[] s=new Student[n]; for(int i=0;i<n;i++){ s[i]=new Student(); System.out.println(“请输入第”+(i+1)+“个学生的名字:”); String name=sc.next(); s[i].setName(name); System.out.println(“请输入第”+(i+1)+“个学生的成绩”); int grade =sc.nextInt(); s[i].setGrade(grade); } for (int i = 0; i < s.length-1; i++) { for (int j = 0; j < s.length-i-1; j++) { if(s[j].getGrade()>s[j+1].getGrade()){ Student temp=s[j]; s[j]=s[j+1]; s[j+1]=temp; } } } System.out.println(“升序排列后的结果为:”); for(int i=0;i<s.length;i++){ System.out.print(s[i].getName()+" "+s[i].getGrade());}

    } abstract: 1.抽象方法:abstract修饰,只有方法的定义,没有方法的具体实现; 2,抽象类:abstract修饰;包含抽象方法的类,必须是抽象类; 抽象类是不能被实例化的; 抽象类是需要被继承的,继承了抽象类的子类,重写所有的抽象方法;变普通类为抽象类。 3意义: 封装了子类中所共有的属性和行为;------代码重用 为所有的子类提供了一种统一的类型;-----向上造型 可以包含抽象方法,为所有的子类提供统一的入口; 4.设计规则: 将所有的子类/派生类所共有的属性和行为,抽到超类中 所有的子类行为都一样,设计为普通类; 所用的子类的行为都不一样,设计为抽象方法 5.//添加音乐 FileInputStream fi=new FileInputStream(“music/v.wav”); AudioStream sa=new AudioStream(fi); AudioPlayer.player.start(sa); 6.分析:从下往上 写代码:从上往下 7.接口的特点: 接口不能被实例化; 接口是可以多实现的,但继承是单继承; 接口中是可以定义方法的,方法也有固定的修饰词:public abstract 子类必须覆盖接口中所有的抽象方法,子类才可以实例化,否则子类是一个抽象类; 接口中是可以定义变量的,但是变量必须有固有的修饰符,public abstract; 也成为变量,值不发生改变;final: 修饰符 修饰符,可以用于修饰类,成员变量,成员方法 只要被final 修饰的类,不能被继承,不能有子类 final 修饰的方法,不能被重写; final修饰的变量:不能被修改,是常量
    最新回复(0)