本文主要是介绍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中面向对象学习记录的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!