一粒尘埃 在空气中凝结 最后生成磅礴的风

生活有时会像一场暴风雨,狂风骤雨让人无法呼吸,但即使如此,也请记住,每一次风雨过后都会是一轮明媚的阳光。在黑暗中寻找光明,在困境中寻找希望,因为最终胜利属于那些永不放弃的人。不要让困难击垮你的意志,不要让挫折阻碍你的前进,相信自己,坚持不懈地追求梦想,你会发现,每一次努力都是值得的。在人生的旅途中,每一步都是成长,每一次挑战都是历练,愿你在风雨过后看到彩虹,在黑夜中找到曙光,因为你的坚强和勇气将会开启生活的奇迹。无论前方道路多么崎岖,都请牢记,你拥有无限的可能性和力量,相信自己,勇敢迈向未来,因为你值得拥有更美好的生活。愿你的每一天都充满阳光和希望,愿你的梦想如同繁星般闪耀,愿你永远坚定地走在属于自己的道路上,与生活共舞,与梦想同行。
2024/4/2
练习:A是B C的父类1.用A作参数package ext;public class A {public void hello(){System.out.println("你好");}}package ext;public class B extends A{}package ext;public class C extends A{}package ext;public class Test5 {public void invoke(A a){a.hello();}public static void main(String[] args) {Test5 t=new Test5();B b=new B();t.invoke(b);C c=new C();t.invoke(c);}}2.用A当返回值类型package ext;public class Test6 {public static void main(String[] args) {Test6 t=new Test6();B b=(B)t.getOjb(1);b.hello();C c=(C)t.getOjb(2);c.hello();}public A getOjb(int type){A a=new A();if(type==1){a=new B();}if(type==2){a=new C();}return a;}}


12.面向对象的特征
3)覆盖(重写:只存在于父子关系(只存在于子类)当中)
使用条件:需要对公共代码进行改进 升级时 可以使用重写
作用:父类接收子类 在重写的前提下 会调用重写的方法

package ext;/*** 访问数据库 在项目中 一般情况下 都是使用MySQL的***/public class DBDao {public void accessDB(){System.out.println("访问MySQL");}}package ext;//根据开发的需要 需要让ADao 访问Oraclepublic class ADao extends DBDao{@Override //覆盖 重写public void accessDB(){System.out.println("改成Oracle");}}package ext;public class BDao extends DBDao{}package ext;public class Test8 {public static void main(String[] args) {DBDao dao=new ADao();//父类接收子类 在重写的前提下 会调用重写的方法dao.accessDB();}}

4)构造方法

那么我们希望在创建对象的时候 就给他赋值 我们应该怎么解决这个问题呢?
a.什么时候写构造方法?
当类中 有属性 需要在创建对象的时候 需要为属性赋值 构造方法
b.怎么写构造方法?
public 类名(数据类型 参数1,数据类型 参数2){
}
c.构造方法的作用:为属性赋值
d.执行时机:new Student;
创建学生类 并为属性赋值public class Student {private String stuName;private String stuSex;public Student(String name,String sex){stuName=name;stuSex=sex;}public String getStuName() {return stuName;}public void setStuName(String stuName) {this.stuName = stuName;}public String getStuSex() {return stuSex;}public void setStuSex(String stuSex) {this.stuSex = stuSex;}}public class Test {public static void main(String[] args) {Student student=new Student("zhangsan","nan");System.out.println(student.getStuName()+" "+student.getStuSex());}}


练习:创建Teacher类 为属性赋值 tid tname tsexpublic class Test2 {public static void main(String[] args) {Teacher teacher=new Teacher(1,"lisi","nv");Teacher teacher1=new Teacher(2,"jie","nan");System.out.println(teacher.getTid()+" "+teacher.getTname()+" "+teacher.getTsex());System.out.println(teacher1.getTid()+" "+teacher1.getTname()+" "+teacher1.getTsex());}}public class Teacher {private int tid;private String tname;private String tsex;public Teacher(int id,String name,String sex){tid=id;tname=name;tsex=sex;}public int getTid() {return tid;}public void setTid(int tid) {this.tid = tid;}public String getTname() {return tname;}public void setTname(String tname) {this.tname = tname;}public String getTsex() {return tsex;}public void setTsex(String tsex) {this.tsex = tsex;}}

练习:创建分数类 为courseName 对象类型Student student 赋值public class Course {private String courseName;private Student student;public Course(String name,Student s){courseName=name;student=s;}public String getCourseName() {return courseName;}public void setCourseName(String courseName) {this.courseName = courseName;}public Student getStudent() {return student;}public void setStudent(Student student) {this.student = student;}}public class Test2 {public static void main(String[] args) {Teacher teacher=new Teacher(1,"lisi","nv");Teacher teacher1=new Teacher(2,"jie","nan");System.out.println(teacher.getTid()+" "+teacher.getTname()+" "+teacher.getTsex());System.out.println(teacher1.getTid()+" "+teacher1.getTname()+" "+teacher1.getTsex());}}

2024/4/3
4)构造方法
a.什么时候写构造方法?
当类中 有属性 需要在创建对象的时候 需要为属性赋值 构造方法
b.怎么写构造方法?
public 类名(数据类型 参数1,数据类型 参数2){
xxx=xxx;
}
c.构造方法的作用:为属性赋值
d.执行时机:new Student;
e.构造方法在一个类当中可以有多个:在不同情况下 为不同的属性赋值 满足不同的需求



练习:创建一个Stu类 属性为 Teacher teacher 和 Course course (cname,csore)public class Teacher {private int tid;private String tname;private String tsex;public Teacher(int id,String name,String sex){tid=id;tname=name;tsex=sex;}public int getTid() {return tid;}public void setTid(int tid) {this.tid = tid;}public String getTname() {return tname;}public void setTname(String tname) {this.tname = tname;}public String getTsex() {return tsex;}public void setTsex(String tsex) {this.tsex = tsex;}}public class Course {private String cname;private int cscore;public Course(String name,int score){cname=name;cscore=score;}public String getCname() {return cname;}public void setCname(String cname) {this.cname = cname;}public int getCscore() {return cscore;}public void setCscore(int cscore) {this.cscore = cscore;}}public class Stu {private Teacher teacher;private Course course;public Stu(Teacher t){teacher=t;}public Stu(Course c){course=c;}public Teacher getTeacher() {return teacher;}public void setTeacher(Teacher teacher) {this.teacher = teacher;}public Course getCourse() {return course;}public void setCourse(Course course) {this.course = course;}}public class Test3 {public static void main(String[] args) {Teacher t=new Teacher(1,"jie","nan");Stu stu=new Stu(t);System.out.println(stu.getTeacher().getTid()+" "+stu.getTeacher().getTname()+" "+stu.getTeacher().getTsex());Course c=new Course("gaoshu",100);Stu stu1=new Stu(c);System.out.println(stu1.getCourse().getCname()+" "+stu1.getCourse().getCscore());}}



注意:在我们不写构造方法的前提下 类中也存在一个默认构造方法(无参构造方法)

在人生的旅途中,难免会遇到挫折和困难,但正是这些挑战让我们变得更加坚强和成熟。不要害怕失败,因为失败并不代表终结,而是一个新的开始。每一次跌倒都是为了更好的站起来,每一次挫折都是为了更坚强的前行。坚持不懈,勇敢追求自己的梦想,相信自己的能力,因为你拥有无限的潜力和可能性。不论前方的路有多么崎岖,只要心怀信念和勇气,你定能战胜困难,收获属于你的成功和幸福。愿你永远坚定地走在人生的道路上,勇往直前,勇敢追梦,因为你就是无限可能的源泉。前路漫漫,愿你始终怀揣希望和勇气,勇敢前行,勇敢生活。
一粒沙石 在蚌体内打磨 最后结成昂贵的珍珠


雾都不起风
太阳升起时你未曾离开 太阳落下时希望你依然还在.
公众号


















