- 创建学生类Student
package cn.tedu.oop;
/本类用于描述学生这一类事物/
public class Student {
//1.1定义学生的属性
//1.2 封装学生的属性
private int id;//学号
private String name;//姓名
private char gender;//性别
private String address;//住址
private String subject;//科目
//2.1提供本类的无参构造
public Student(){
System.out.println(“我是Student的无参构造”);
}
//2.2提供本类的全参构造
//右键->Generate->Contructor->Shift全选所有属性->OK
public Student(int id, String name, char gender, String address, String subject) {
this.id = id;
this.name = name;
this.gender = gender;
this.address = address;
this.subject = subject;
System.out.println(“我是Student的全参构造”);
}
//3.1提供本类的普通方法1
public void study(){
System.out.println(“学习使我快乐~”);
}
//3.2提供本类的普通方法2
public void eat(int n){
System.out.println(“今天我要干它”+n+“碗大米饭”);
}
//3.3提供本类的普通方法3
public String sleep(){
return “今天又睡了美美的一觉”;
}
//4.提供本类的一个展示类型与所有属性和属性值的方法
public void show(){
System.out.println(“Student:[id=”+id+“,name=”+name+“,gender=”+gender+“,address=”+address+“,subject=”+subject+“]”);
}
//1.3提供属性对应的get与set方法
//右键->Generate->Getter and setter->Shift全选所有属性->OK
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 char getGender() {
return gender;
}
public void setGender(char gender) {
this.gender = gender;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
}
- 创建学生类的测试类TestStudent
package cn.tedu.oop;
/本类用作学生类的测试类/
public class TestStudnet {
public static void main(String[] args) {
//1.1使用无参构造创建对象
Student s = new Student();
//1.2通过setXxx()给对象的所有属性赋值
s.setId(1);
s.setName(“林冲”);
s.setGender(‘男’);
s.setSubject(“CGB”);
s.setAddress(“庙里”);
//1.3通过对象调用方法测试
s.study();
s.eat(3);
System.out.println(s.sleep());
s.show();//Student:[id=1,name=林冲,gender=男,address=庙里,subject=CGB]
//2.1使用全参构造创建对象
Student s2 = new Student(2,“李逵”,‘男’,“猪肉铺”,“ACT”);
s2.study();
s2.eat(10);
System.out.println(s2.sleep());
s2.show();
}
}
-
我们通过interface关键字定义接口
-
接口实现类需要通过关键字implements与接口建立实现关系
-
接口不可以创建对象/实例化
-
在Java8中,接口中所有的方法都是抽象方法,方法可以简写,会自动拼接public abstract
-
接口中没有构造方法,接口实现类调用的构造方法是父类的,不是父接口的
注意:如果一个类没有明确指定父类的话,会默认继承顶级父类Object
-
接口中没有成员变量,都是静态常量,默认会拼接public static final
-
接口不是类!!!你可以把接口理解成一个特殊的抽象类,特殊在,所有的方法都是抽象方法
-
如果一个实现类实现了接口,要不变成一个抽象子类【不实现/实现部分】,要不变成一个普通子类【全部实现】
-
接口是用来制定规则的【有哪些方法,方法有参数吗?有返回值类型吗?】,并不做具体的实现
-
接口可以多继承【一个接口可以继承多个接口】 多实现 【一个类可以实现多个接口】
继承关系,只支持单继承
比如: class A extends B ,A是子类,B是父类,子类具备父类的所有功能
-
子类不能使用父类的私有资源,原因是私有不可见
-
继承相当于子类把父类的功能复制了一份,但是构造方法不可继承
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
虽然我个人也经常自嘲,十年之后要去成为外卖专员,但实际上依靠自身的努力,是能够减少三十五岁之后的焦虑的,毕竟好的架构师并不多。
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
架构师,是我们大部分技术人的职业目标,一名好的架构师来源于机遇(公司)、个人努力(吃得苦、肯钻研)、天分(真的热爱)的三者协作的结果,实践+机遇+努力才能助你成为优秀的架构师。
如果你也想成为一名好的架构师,那或许这份Java成长笔记你需要阅读阅读,希望能够对你的职业发展有所帮助。
[外链图片转存中…(img-laKzjTyk-1713312430283)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!