先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024b (备注Java)
正文
私有成员变量在继承中的使用
**注意:**私有的成员 可以被继承 但是不能访问.
若想访问,我们可以****通过 get和 set方法进行访问
代码如下:
package Inherit;
class Animal{
private String name;
public int age;
public void eat() {
System.out.println(name + "正在吃饭!");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
class Dog extends Animal{
public void barks() {
System.out.println(getName() + "汪汪叫!"+"年龄"+ age);
}
}
class Cat extends Animal{
public void CatchMouse() {
System.out.println(getName() + "正在抓老鼠");
}
}
public class Test{
public static void main(String[] args) {
Dog dog = new Dog();
//属性继承
dog.setName("旺财");
dog.age = 10;
dog.barks();
//方法继承
dog.eat();
Cat cat = new Cat();
//属性继承
cat.setName("喵喵");
cat.age = 10;
cat.CatchMouse();
//方法继承
cat.eat();
}
}
当子类和父类变量不重名时:
package Inherit;
/**
* 子类和父类不存在同名变量时
*/
class Base{
int a;
int b;
}
public class Derived extends Base{
int c;
public void method(){
a = 10;//来自父类
b = 20;//来自父类
c = 30;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
public static void main(String[] args) {
Derived derived = new Derived();
derived.method();
}
}
控制台运行结果:
当子类和父类重名时:
package Inherit;
/**
* 子类和父类存在同名变量时
*/
class Base{
int a;
int b;
public void methodA() {
System.out.println("Base 中的methodA()");
}
}
public class Derived extends Base{
int a = 60;// 与父类成员 a 同名,类型相同
char b = 'o';//与父类成员 b 同名,不同类
int c;
public void methodB() {
System.out.println("Derived 中的 methodB()方法");
}
public void methodC() {
methodB();//访问子类自己的methodB()
methodA();//访问父类继承的methodA()
// methodD();//编译失败,在整个继承过程中没有发现方法
}
public void method(){
// a = 10;//来自父类
b = 20;//来自父类
c = 30;
System.out.println(super.a);
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
public static void main(String[] args) {
Derived derived = new Derived();
derived.method();
父类与子类重合,优先访问子类
控制台运行结果:
📝总结:
继承的含义:
抽取共性,通过子类继承(extends)父类,达到代码复用
toString方法的作用:
在JAVA中,toString()方法是Object类中的一个方法,它的作用是返回一个表示对象的字符串。当我们需要将一个对象转换为字符串时,可以使用toString()方法。
如果我们没有重写该方法,则默认返回对象的类名和哈希码。
下面是一个toString()方法的代码案例:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
public static void main(String[] args) {
Person person = new Person("Tom", 20);
System.out.println(person.toString());
}
}
在上面的代码中,我们定义了一个Person类,并重写了toString()方法,返回了一个包含name和age属性的字符串。在main方法中,我们创建了一个Person对象,并使用toString()方法将其转换为字符串并输出。
重写和重载的区别
JAVA官方语法文档链接🔗👉:The Java® Language Specification
通过ctrl + F 找到 overload重载
重写和重载都是面向对象程序设计中的概念,它们的作用都是实现多态。但是它们的含义和实现方式是不同的。
重载(Overload):指的是在同一个类内部或者父子类之间,方法名相同,但是参数列表不同(参数类型、参数个数、参数顺序),返回值类型可以是相同的也可以不同的。这样的方法就叫做重载方法。
编译器根据调用时传递的不同参数,来确定调用的具体方法。
重写(Override):是指子类重写父类的方法,方法名、参数列表、返回值类型都与父类相同。这时候子类中的方法会覆盖掉父类中的方法,实现多态。
下面是一些示例代码:
重载:
public class OverloadExample {
public int add(int a, int b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
重写:
总结
虽然面试套路众多,但对于技术面试来说,主要还是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。
上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料
有些面试官喜欢问自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注Java)
[外链图片转存中…(img-OafbILeo-1713436912256)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!