欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 3.23学习总结 Java:Static注意事项+继承

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

2025/7/22 4:18:32 来源:https://blog.csdn.net/2402_88130280/article/details/146437611  浏览:    关键词:3.23学习总结 Java:Static注意事项+继承

静态方法不能调用非静态

非静态可以访问所有

继承:

爸爸:父类

儿子:子类

父类有的子类都具有,所以子类中只需创造它特有的就行,子类需要用的时候可以直接在父类里面调用。

继承特点:Java只支持单继承,不支持多继承,但支持多层继承。

单继承:一个子类只能继承一个父类

子类不能同时继承多个父类。

多层继承:子类A继承父类B,父类B可以继承父类C。AC关系为间接父类。AB为直接父类。

每一个类都直接或间接的继承于Object。Object类Java虚拟机内本身就存在的。

书写代码:从父类开始写

子类只能访问父类中非私有的成员//私有:private

  如果一个类中没有构造方法,虚拟机会自动添加一个空参构造。

内存分析工具

打开方法:+jhsdb hsdb

继承过程中:

成员变量的访问特点:就近原则,谁近用谁。

虚方法表:非private,非static,非final。

方法重写的本质:如果发生了重写,则会覆盖。

只有被添加到虚方法表中的方法才能被重写。

不能被继承,就不能被重写。

构造方法的访问特点:

 

this,super使用总结:

super中调用的是父类的成员变量。

this是调用的子类的成员变量。

简单电影查询系统:

JavaBean类:

public class movie {private int id;private String name;private String actor;public movie(int id,String name,String actor) {this.id = id;this.name = name;this.actor = actor;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getActor() {return actor;}public void setActor(String actor) {this.actor = actor;}
}

操作类:

public class movieoperator {private movie[] movies;public movieoperator(movie[] movies){this.movies=movies;}public void findAllmovie(){for(int i=0;i<movies.length;i++){movie m=movies[i];System.out.println("电影编号是:"+m.getId());System.out.println("电影名称是:"+m.getName());}}public void findbyid(int id){for(int i=0;i<movies.length;i++){movie m=movies[i];if(m.getId()==id){System.out.println("电影编号是:"+m.getId());System.out.println("电影名称是:"+m.getName());System.out.println("电影演员是:"+m.getActor());return;}}System.out.println("没有找到该电影");}
}

运行类:

import java.util.Scanner;
// 定义 Movie 类public class system{public static void main(String[]args){System.out.println("---欢迎来到电影管理系统---");System.out.println("操作功能请选择1、2或者3");System.out.println("1.查询所有电影");System.out.println("2.根据电影编号查询电影");System.out.println("3.退出系统");movie[] movies = {new movie(1, "血观音", "文淇"),new movie(2, "风犬少年的天空", "张婧仪"),new movie(3, "我要我们在一起", "张婧仪")};Scanner sc = new Scanner(System.in);movieoperator mo = new movieoperator(movies);while(true){System.out.println("请输入您的选择:");int choice = sc.nextInt();if(choice==1){mo.findAllmovie();}else if(choice==2){System.out.println("请输入电影编号:");int id = sc.nextInt();mo.findbyid(id);}else if(choice==3){System.out.println("感谢您的使用,再见!");break;}else{System.out.println("您的输入有误,请重新输入!");}}}
}

封装:对象代表什么,就得封装对应的数据,并提供数据对应的行为。

多态:同类型的对象,表现出的不同形态。

多态调用成员的特点:

调用的时候变量是父类的,方法是子类的。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词