当前位置: 首页 > news >正文

学习JAVA的第七天(基础)

目录

static

 静态变量

静态方法

工具类:

  static的注意事项     

 继承

 继承的好处

 继承的特点

方法的重写

书写格式

@override重写注解

方法重写的要求

this关键字

super关键字


 

static

  •  static表示静态,是Java中的一个修饰符,可以修饰成员变量成员方法

 静态变量

                被static修饰的成员变量,叫静态变量

特点

        被该类所有对象共享

        不属于对象,属于类

        随着类的加载而加载,优先于对象存在

调用方式:

        类名调用

        对象名调用

静态方法

                   被static修饰的成员方法,叫静态方法 

特点:

        多在测试类和工具类

        Javabean类中很少会用

调用方式:

        类名调用

        对象名调用

工具类:

        不描述任何事物的类

public class ArrayUtil {private ArrayUtil() {}//需要定义静态的,方便调用//输出数组内容public static String printArr(int[] arr) {StringBuilder sb = new StringBuilder();sb.append("[");for(int i = 0; i < arr.length; i++){if(i == arr.length-1){sb.append(arr[i]);}else{sb.append(arr[i]+",");}}sb.append("]");return sb.toString();}//算平均数public static double getAverage(double[] arr) {double sum = 0;for(int i = 0; i < arr.length; i++){sum += arr[i];}return sum/arr.length;}
}

  static的注意事项     

  • 静态方法只能访问静态变量和静态方法
  • 非静态方法可以访问静态变量和静态方法,也可以访问非静态的成员变量和非静态的成员方法
  • 静态方法中没有this关键字                                  

 继承

        java提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立继承关系

 继承的好处

  • 提高了代码的复用性
  • 子类可以在父类的基础下,增加其他功能,使子类功能更加强大。

 继承的特点

        Java只支持单继承,不支持多继承,但支持多层继承

        子类不能继承父类的构造方法

        子类可以继承父类的成员变量,但不能直接使用父类中被private修饰的成员变量

        只有父类中的虚方法(非private 非static 非final)才能被子类继承

 继承中成员变量的调用方法就近原则

方法的重写

        当父类的方法不能满足子类的需求时,需要进行方法重写

书写格式

                在继承体系中,子类出现与父类一样的方法声明,我们就称子类的方法是重写的方法。

@override重写注解

        @override放在重写的方法上面,验证子类重写的方法是否正确

方法重写的要求

        重写方法的名称,形参列表必须与父类一致

        重写方法时,访问权限子类必须>=父类

        重写方法时,返回值类型必须<=父类

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

this关键字

        理解成一个变量,表示当前方法调用者的地址值

super关键字

        代表父类存储空间

关键字访问成员变量访问成员方法访问构造方法
this

this.成员变量

访问本类成员变量

this.成员方法()

访问本类成员方法

this(...)

访问本类构造方法

supersuper.成员变量

super.成员方法()

访问父类成员方法

super(...)

访问父类构造方法

 

        

http://www.lryc.cn/news/306579.html

相关文章:

  • GoLand 相关
  • 顶顶通呼叫中心中间件-如何使处于机器人话术中的通话手动转接到坐席分机上
  • RabbitMQ开启MQTT协议支持
  • Orange3数据预处理(列选择组件)数据角色及类型描述
  • c sharp资料
  • 《低功耗方法学》翻译——第十四章:电源切换网络设计
  • 如何使用Axure RP制作web页面并实现无公网ip远程访问——“cpolar内网穿透”
  • vue2实现无感刷新token
  • 每日学习-2月18日
  • AI 使人机交互发生根本性转变 AI芯片主战场,变了
  • 容器库(12)-std::unordered_multiset
  • Mysql学习之事务日志undolog深入剖析
  • springboot整合druid及可能遇到的问题
  • c++文件的打开、读写和关闭。缓冲区的使用和控制。
  • 网络层的DDoS攻击与应用层的DDoS攻击之间的区别
  • Windows系统安全策略设置之本地NTLM重放提权
  • AI云增强升级!还原生动人像,拍出质感照片
  • PHP WebSocket:技术解析与实用指南
  • K8S实战:Centos7部署Kubernetes1.24.0集群
  • webpack的使用(中)
  • matlab经验模式分解的R波检测算法
  • win10编译openjdk源码
  • mysql 自定义函数create function
  • 【析】装卸一体化车辆路径问题的自适应并行遗传算法
  • react项目中的redux以及react-router-dom
  • django学习网址
  • @ 代码随想录算法训练营第4周(C语言)|Day21(二叉树)
  • Android的消息机制--Handler
  • 获取用户信息与token理解
  • 网络设备和网络软件