Java知识点
2021/7/10 17:13:38
本文主要是介绍Java知识点,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
给函数传递参数时, 若为基本类型,则为值拷贝,是两个不同的变量;若为对象,则为引用指向同一个对象。
y为数,if(x=y)这种使用=方式会报错, java 不会自动的将 int 转换成 boolean 类型
比较两个对象的内容, 使用所有对象(不包括基本类型)中都存在的equals()方法
对于 == 和 != 这两个关系运算符来说,它们有两种使用场景:
- 作用于基本数据类型: 比较的是值
- 作用于对象: 比较的是内存地址
equals()的两种使用情况:
- 情况 1:类没有覆盖 equals() 方法。则通过 equals() 比较该类的两个对象时,等价于通过 “==” 比较这两个对象。
- 情况 2:类覆盖了 equals() 方法。一般来说,我们都会覆盖 equals() 方法来比较两个对象的内容而不是其引用
&& 和|| 运算符具有短路特性
增强版 for 循环, 定义了一个 float 类型的变量 x,继而将每一个 f 的元素赋值给它.
for(float x: f){ System.out.println(x); }
面向对象具有四大基本特点 抽象:属性和行为形成类,用类去构造实例;封装:属性和行为封装成类,来严格的访问控制;继承:在类基础上扩展形成新类;多态:同一函数具有不同功能。
访问权限, 从“最大权限”到“最小权限”依次是public、protected、包访问权限、private
所谓包访问权限,就是如果不对这个成员(类、字段、方法)提供访问修饰符,那么这个成员就可以被同一个包中的所有方法访问,但是这个包之外的成员无法访问。包访问权限也称默认访问权限
protected也提供包访问权限,不同于包访问权限的是:即使父类和子类不在同一个包下,子类也可以访问父类中具有 protected 访问权限的成员。(而对于包访问权限来说,如果子类和父类不在一个包下,子类是无法访问父类中具有包访问权限的成员的)
构造函数总是伴随着 new 操作符的执行被调用, 构造函数与类同名;每个类可以有一个以上的构造函数;构造函数可以有 0 个、1 个或多个参数;构造函数没有返回值;类中没有构造器,那么编译器就会自动为你创建一个无参构造器,一旦你显式地定义了构造器(无论有参还是无参),编译器就不会自动为你创建无参构造器。
重载 允许方法具有相同的方法名但接收的参数不同。
this 关键字 只能在非静态方法内部使用,static 方法中不会出现 this。因为 static 是为类而创建的,不需要任何对象。
初始化
- 类的每个基本类型数据成员保证都会有一个初始值。如果我们没有显式地给域/成员变量赋予初值,那么就会被自动地赋为默认值————自动初始化。
- 当使用构造函数来进行初始化时,同样先进行自动初始化在进行构造函数的。
- 显示初始化,在定义成员变量时就对其指定值。
初始化块 代码块的调用顺序为:静态初始化块、非静态初始化块、构造函数
class Root { // 静态初始化块 static{ System.out.println("Root的静态初始化块"); } // 非静态初始化块 { System.out.println("Root的普通初始化块"); } public Root(){ System.out.println("Root的无参构造器"); } }
重写重载 重写不仅方法名相同,参数列表和返回类型也相同;@Override
注解即表示方法重写,不过这个也可以不写,JVM 能够自动的识别方法覆盖。在覆盖一个方法的时候,子类方法不能低于父类方法的可见性。特别是, 如果超类方法是 public, 子类方法一定要声明为 public。
向上转型和向下转型
- 父类引用变量指向子类对象后,只能使用父类已声明的方法,但方法如果被重写会执行子类的方法,如果方法未被重写那么将执行父类的方法。
Animal cat = new Cat(...); // 向上转型 Cat->Animal
- 将某个父类的对象引用转换成子类的对象引用,调用一些子类特有而父类没有的方法。
Animal animal = new Cat(...); // 向上转型 Cat->Animal Cat cat = (Cat) animal; // 向下转型
抽象类 抽象方法和抽象类都必须声明为 abstract,但除了抽象方法之外,抽象类还可以包含具体数据和具体方法。使用extends来扩展子类。
接口 关键字 interface 而不是 class 来创建接口,接口中是不能包含具体方法的。使用 implement来扩展实现类。接口中是允许出现常量的,将被自动被设置为 public static final 类型。
为什么有抽象类还要有接口,因为一个类可以实现多个接口,但是一个类只能继承一个父类
这篇关于Java知识点的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-22项目:远程温湿度检测系统
- 2024-12-21《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》简介
- 2024-12-21后台管理系统开发教程:新手入门全指南
- 2024-12-21后台开发教程:新手入门及实战指南
- 2024-12-21后台综合解决方案教程:新手入门指南
- 2024-12-21接口模块封装教程:新手必备指南
- 2024-12-21请求动作封装教程:新手必看指南
- 2024-12-21RBAC的权限教程:从入门到实践
- 2024-12-21登录鉴权实战:新手入门教程
- 2024-12-21动态权限实战入门指南