java中面向对象学习记录
2021/7/23 22:13:01
本文主要是介绍java中面向对象学习记录,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
//1.有一些数据 //classNumber name age sex birthday dog //01 张三 20 男 2001-10-10 [拉布拉多,20岁] //01 李四 30 女 1990-10-19 [金毛,10岁] //01 王五 40 男 1999-10-10 [柯基,4岁] // //要求:将三条数据放入Student对象,并将所有对象放入数组,并遍历(遍历时要求看到属性) //有一条数据 //name age sex //唐僧 40 男 //将这条数据放入Teacher //学生行为:读书,吃饭 //老师行为:讲课,吃饭 分析:使用的知识点 数组 面向对象的对象实例化 类 组合 遍历 构造方法 this 重写 继承 final */ class Student{ int classNumber; String name; int age; String sex; String birthday; //组合 Dog dog; public Student(){ } public Student(int classNumber,String name,int age,String sex,String birthday,Dog dog){ this.classNumber = classNumber; this.name = name; this.age = age; this.sex = sex; this.birthday = birthday; this.dog = dog; } } class Dog{ int age; String name; public Dog(){ } public Dog(int age,String name){ this.age = age; this.name = name; } } /*public class Demo1 { public static void main(String[] args) { 要求:将三条数据放入Student对象,并将所有对象放入数组,并遍历(遍历时要求看到属性) Student[] students = new Student[3]; Student s1 = new Student(); s1.age = 10; s1.name = "张三"; s1.sex = "男"; s1.birthday = "1990-10-10"; s1.classNumber = 1; Dog d1 = new Dog(); d1.name = "拉布拉多"; d1.age = 5; s1.dog = d1; students[0] = s1; //通过构造方法实现内容的添加 students[1] = new Student(1,"李四",20,"男","1890-10-10",new Dog(20,"金毛")); } }*/ public class Demo1 { public static void main(String[] args) { /* 构造方法:对对象的属性进行初始化 当我们没有手动创建构造方法时,系统会自动的创建一个空参的构造方法. 注意:只要我们手动生成了构造方法,不管这个方法是不是带参数,系统都不会再自动生成空参的构造方法 //完成功能:在初始化的同时完成赋值 */ Person p = new Person(); // p.name = "张三"; p.age = 10; System.out.println(p.name); Person p2 = new Person("张三",10); System.out.println(p2.name); Person p3 = new Person("李四",20,20,20,"男"); } } class Person{ String name; int age; int height; int weight; String sex; public void play(){ System.out.println("play"); } //手动创建构造方法 /* 构造方法的特点: 1.方法名与类名相同 2.构造方法没有返回值--返回值类型的位置什么都不写 当我们给构造方法写了返回值类型,就变成了普通方法 */ public Person(){//方法体 //this("张三",20); 相互调用--死循环 //this(); 自己调用自己--死循环 System.out.println("空参的构造方法"); } //创建有参的构造方法--在初始化的同时完成了赋值 // public Person(String name){ //this(); this.name = name; System.out.println("有参的构造方法"); } public Person(String name,int age){ //this.name = name; this(name); this.age = age; System.out.println("有参的构造方法"); } public Person(String name,int age,int height,int weight,String sex){ // this.name = name; // this.age = age; /* this在这里做的是构造方法 注意点: 1.this只能充当构造方法 2.构造方法之间不能相互调用或者自己调用自己---死循环 3.this代表的当前对象,只能在当前类里面使用. 4.this不能在静态方法中使用. 5.this作为构造方法时,必须方法当前方法的第一行. */ this(name,age); this.height = height; this.weight = weight; this.sex = sex; System.out.println("有参的构造方法"); } }
这篇关于java中面向对象学习记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现