3.23学习总结 Java:Static留意事项+继承

[复制链接]
发表于 2025-10-7 19:23:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
静态方法不能调用非静态
非静态可以访问全部


继承:


爸爸:父类
儿子:子类
父类有的子类都具有,以是子类中只需创造它特有的就行,子类必要用的时间可以直接在父类内里调用。



继承特点:Java只支持单继承,不支持多继承,但支持多层继承。
单继承:一个子类只能继承一个父类
子类不能同时继承多个父类。
多层继承:子类A继承父类B,父类B可以继承父类C。AC关系为间接父类。AB为直接父类。
每一个类都直接或间接的继承于Object。Object类Java假造机内自己就存在的。
誊写代码:从父类开始写
子类只能访问父类中非私有的成员//私有:private

  假如一个类中没有构造方法,假造时机自动添加一个空参构造。

内存分析工具
打开方法:+jhsdb hsdb

继承过程中:
成员变量的访问特点:就近原则,谁近用谁。

虚方法表:非private,非static,非final。
方法重写的本质:假如发生了重写,则会覆盖。

只有被添加到虚方法表中的方法才气被重写。
不能被继承,就不能被重写。
构造方法的访问特点:
 


this,super利用总结:

super中调用的是父类的成员变量。
this是调用的子类的成员变量。
简朴影戏查询体系:
JavaBean类:
  1. public class movie {
  2.     private int id;
  3.     private String name;
  4.     private String actor;
  5.     public movie(int id,String name,String actor) {
  6.         this.id = id;
  7.         this.name = name;
  8.         this.actor = actor;
  9.     }
  10.     public int getId() {
  11.         return id;
  12.     }
  13.     public void setId(int id) {
  14.         this.id = id;
  15.     }
  16.     public String getName() {
  17.         return name;
  18.     }
  19.     public void setName(String name) {
  20.         this.name = name;
  21.     }
  22.     public String getActor() {
  23.         return actor;
  24.     }
  25.     public void setActor(String actor) {
  26.         this.actor = actor;
  27.     }
  28. }
复制代码
操纵类:
  1. public class movieoperator {
  2.     private movie[] movies;
  3.     public movieoperator(movie[] movies){
  4.         this.movies=movies;
  5.     }
  6.     public void findAllmovie(){
  7.         for(int i=0;i<movies.length;i++){
  8.             movie m=movies[i];
  9.             System.out.println("电影编号是:"+m.getId());
  10.             System.out.println("电影名称是:"+m.getName());
  11.         }
  12.     }
  13.     public void findbyid(int id){
  14.         for(int i=0;i<movies.length;i++){
  15.             movie m=movies[i];
  16.             if(m.getId()==id){
  17.                 System.out.println("电影编号是:"+m.getId());
  18.                 System.out.println("电影名称是:"+m.getName());
  19.                 System.out.println("电影演员是:"+m.getActor());
  20.                 return;
  21.             }
  22.         }
  23.         System.out.println("没有找到该电影");
  24.     }
  25. }
复制代码
运行类:
  1. import java.util.Scanner;
  2. // 定义 Movie 类
  3. public class system{
  4.     public static void main(String[]args){
  5.         System.out.println("---欢迎来到电影管理系统---");
  6.         System.out.println("操作功能请选择1、2或者3");
  7.         System.out.println("1.查询所有电影");
  8.         System.out.println("2.根据电影编号查询电影");
  9.         System.out.println("3.退出系统");
  10.         movie[] movies = {
  11.             new movie(1, "血观音", "文淇"),
  12.             new movie(2, "风犬少年的天空", "张婧仪"),
  13.             new movie(3, "我要我们在一起", "张婧仪")
  14.         };
  15.         Scanner sc = new Scanner(System.in);
  16.         movieoperator mo = new movieoperator(movies);
  17.         while(true){
  18.             System.out.println("请输入您的选择:");
  19.             int choice = sc.nextInt();
  20.             if(choice==1){
  21.                 mo.findAllmovie();
  22.             }
  23.             else if(choice==2){
  24.                 System.out.println("请输入电影编号:");
  25.                 int id = sc.nextInt();
  26.                 mo.findbyid(id);
  27.             }
  28.             else if(choice==3){
  29.                 System.out.println("感谢您的使用,再见!");
  30.                 break;
  31.             }
  32.             else{
  33.                 System.out.println("您的输入有误,请重新输入!");
  34.             }
  35.         }
  36.     }
  37. }
复制代码
封装:对象代表什么,就得封装对应的数据,并提供数据对应的举动。
多态:同范例的对象,体现出的差别形态。

多态调用成员的特点:
调用的时间变量是父类的,方法是子类的。

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表