随笔分类 -  Java学习

摘要:Java - 27 final 可以修饰 类、属性、方法和局部变量 使用场景 不希望类被继承 不希望父类的某个方法被子类重写 不希望类的某个属性被修改(常量) class A{ public final double TAX_RATE = 0.08; } 不希望局部变量被修改(局部常量) 细节 fi 阅读全文
posted @ 2024-11-07 20:00 wajiez 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Java 抽象类+接口 抽象类 当父类的某些方法需要声明,但又不确定如何实现时(父类方法不确定性问题),可以将其声明为 抽象方法,这个类就是 抽象类 public abstract class Animal{ abstract public void eat(); // 抽象方法没有方法体 } 一般 阅读全文
posted @ 2024-11-07 19:39 wajiez 阅读(19) 评论(0) 推荐(0) 编辑
摘要:Java - 内部类 一个类的内部 又完整地嵌套了另一个类结构,被嵌套的内为 内部类 内部类 - 外部类 - 外部其他类 类的五大成员:属性;方法;构造器;代码块;内部类 class Outer{ class Inner{ } } 定义在外部类 局部位置 上(通常在 方法 /代码块 中) 局部内部类 阅读全文
posted @ 2024-11-07 19:39 wajiez 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Java - 26 代码块 [修饰符 static]{ 代码 }; 类似于方法,没有方法名,没有返回,没有参数 不用通过对象或类 显式调用,而是在加载类 或 创建对象时 隐式调用 普通代码块 好处 构造器的补充机制(减少代码重复冗余),可以做初始化操作 /* 不管调用哪个构造器创建对象,都会先调用代 阅读全文
posted @ 2024-10-31 16:04 wajiez 阅读(6) 评论(0) 推荐(0) 编辑
摘要:Java - 24 类变量和类方法 类变量(静态变量) 非静态变量 = 普通变量 = 实例变量 class Main{ public static void main(String[] args){ Child c1 = new Child("wu"); c1.join(); c1.count++; 阅读全文
posted @ 2024-10-31 16:04 wajiez 阅读(19) 评论(0) 推荐(0) 编辑
摘要:Java - 25 main方法 main 方法是 虚拟机 调用的 public static void main(String[] args) java虚拟机需要调用类的main方法,所以该方法的访问权限必须是 public java虚拟机在执行 main() 方法时不必创建对象,所以是 stat 阅读全文
posted @ 2024-10-31 16:03 wajiez 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Java - 23 Object类详解 == 与 equals() == 既可以判断基本类型也可以判断引用类型 判断基本类型,判断值是否相等 判断基本类型,判断地址是否相等(是不是一个对象) equals 是Object类的方法,只能判断引用类型 默认判断地址是否相等 子类中往往重写该方法:Inte 阅读全文
posted @ 2024-10-15 19:33 wajiez 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Java - 21 动态绑定机制 方法具有动态绑定机制,当调用对象方法,该方法会和该对象的内存地址(运行类型)绑定 public class Main{ public static void main(String[] args){ A a = new B(); System.out.println 阅读全文
posted @ 2024-10-15 19:33 wajiez 阅读(6) 评论(0) 推荐(0) 编辑
摘要:Java - 19 面向对象编程的三大特征:继承 解决代码复用,维护性,扩展性 当多个类存在相同的属性和方法时,可以从这些类中抽象出父类,在父类中定义这些相同的属性和方法,所有子类不需要重新定义这些属性和方法,只需要通过extends来声明继承父类即可 e.g. public class Test{ 阅读全文
posted @ 2024-10-15 19:33 wajiez 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Java - 22 多态数组+多态参数 多态数组 数组的定义类型为父类类型,里面保存的实际元素为子类类型 Person[] persons = new Person[5]; person[0] = new Person("Jack", 20); person[1] = new Student("Ro 阅读全文
posted @ 2024-10-15 19:33 wajiez 阅读(7) 评论(0) 推荐(0) 编辑
摘要:Java - 20 面向对象编程的三大特征:多态 提高复用性 方法或对象具有多种形态,多态建立在封装和继承基础之上 方法的多态 // 重载体现多态 System.out.println(a.sum(10, 20)); System.out.println(a.sum(10, 20, 30)); // 阅读全文
posted @ 2024-10-15 19:32 wajiez 阅读(5) 评论(0) 推荐(0) 编辑
摘要:Java - 19 面向对象编程的三大特征:封装 封装:把抽象出的数据(属性)和对数据的操作(方法)封装在一起 数据被保护在内部 程序的其它部分只能通过被授权的操作(方法)才能对数据进行操作 好处: 隐藏实现细节 对数据进行验证,保证安全合理 封装实现步骤 属性私有化(不能直接修改属性) 提供一个 阅读全文
posted @ 2024-10-15 19:32 wajiez 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Java - 18 包 区分相同名字的类 可以很好的管理类 控制访问范围 /* 声明当前类所在的包,需要放在类的最上面,一个类中最多只能由一句package */ package com.wxr package 关键字,表示打包;com.wxr 表示包名 包的本质:创建不同的文件夹/目录管理类 包的 阅读全文
posted @ 2024-10-15 19:32 wajiez 阅读(4) 评论(0) 推荐(0) 编辑
摘要:Java - 17 this关键字 哪个对象调用,this就代表哪个对象,this存储代表对象的地址,指向代表对象 public class This01{ public static void main(String[] args){ Dog dog1 = new Dog("A", 2); Sys 阅读全文
posted @ 2024-10-15 19:31 wajiez 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Java - 16 构造器 constructor 完成对新对象的初始化,不是创造对象 本质是方法 public class Constructor{ public static void main(String[] args){ Person p1 = new Person("dabao", 2) 阅读全文
posted @ 2024-10-15 19:31 wajiez 阅读(4) 评论(0) 推荐(0) 编辑
摘要:Java - 15 作用域+访问修饰符 全局变量与局部变量 class Cat{ int age = 1; // 全局变量(属性),作用域是整个cat类 { int num = 100; // 代码块中 - 局部变量 } public void say(){ String greet = "hell 阅读全文
posted @ 2024-10-06 15:48 wajiez 阅读(12) 评论(0) 推荐(0) 编辑
摘要:Java - 14 方法重载+可变参数 方法重载 Java允许同一个类中,多个同名方法存在,但要求形参列表不一致(类型,顺序),返回类型没有要求 public class Overload{ public static void main(String[] args) { MyCalculator 阅读全文
posted @ 2024-10-06 15:47 wajiez 阅读(7) 评论(0) 推荐(0) 编辑
摘要:Java - 13 方法的递归 递归必须向退出递归的条件逼近 斐波那契数列 当n=1,1 当n=2,1 当n >= 3,是前两个数的和 public class Recursion{ public static void main(String[] args) { Fbnq f = new Fbnq 阅读全文
posted @ 2024-10-06 15:46 wajiez 阅读(6) 评论(0) 推荐(0) 编辑
摘要:Java - 12 方法 public class main{ public static void main(String[] args){ Person pers = new Person(); pers.speak(); pers.cal(100); int returnRes = pers. 阅读全文
posted @ 2024-10-06 15:45 wajiez 阅读(8) 评论(0) 推荐(0) 编辑
摘要:Java - 11 类与对象 类 类[属性, 行为] ->对象[属性, 行为] public class Test{ public static void main(String[] args){ Cat cat1 = new Cat(); // 创建对象 cat1.name = "大宝"; cat 阅读全文
posted @ 2024-10-06 15:44 wajiez 阅读(11) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示