类与对象



 类与对象

一、对于类和对象的理解: 类是存在在编程中的一个概念,在现实生活中不存在,它是一些对象共同点的描述,如同数学概念里的集合思想。 对象是存在在类中的具有某种共同特征的具体化事物。

例如:这个课本为对象,课本是所有课本的总和即类。类与对象

二、定义类的方法

public class 类名(){

描述类:属性 方法

定义属性的方法:访问修饰符(4种) 数据类型 属性名;

定义方法的方法:访问修饰符 返回值类型 方法名(数据类型 参数名){}

}

 

三、构造方法

方法: 1普通方法:对对象的功能的一种定义 方法名自定义

         2构造方法:创建一个对象并赋初始值的过程(返回值与堆内存相关) 方法名必须是类名

          public 类名(参数类型 参数名,,,){}

          public 类名(){}

       每个类都有一个默认的无参构造方法,如果自己定义了一个有参的构造方法,那么默认的无参构造方法就会被替代,要想再用就必须写出来

 

四、实例化对象 即将定义的类使用到主函数里:用实例化给类赋予生命力。

   类名 对象名 = new 构造方法(参数值)

 

五、方法重载 当方法的对象不同时使用

例如:李宗盛唱了一首《真的爱你》。李宗盛唱了一首《山丘》。

条件:1 方法名相同

          2 方法参数个数 类型 顺序至少一个不同 格式:访问修饰符 返回值类型 方法名(参数类型 参数名...){}

 

注意事项 1 主函数中调用时 对象名.方法名(参数名)

                 2访问修饰符 返回值类型可同可不同

六、this 关键字

作用:1 区分属性和参数

           2 调用带字符串类的构造方法

          

 

下面是一个关于选课场景的简单练习

     其中包括:定义类的方法、实例化对象、两种方法的构造和方法重载 this的两种用途的应用

 

public class Manager { public static void main(String[] args) {

                 //实例化对象

                People p1 = new People("张三");

                People p2 = new People();

                p1.select();

 

 

                  //方法的调用

                 PE pe = new PE();

                 pe.setName("瑜伽课");

                 p2.select(pe); }

                            }

 

 

            //定义一个类 public class People {

 

                     //定义名字属性

                     public String name;

 

                    //带参的构造方法

                     public People(String name){ this.name=name;

                              }

 

                   //方法重载 public People(){ this("王二");

                                           }

 

 

                   //定义选课方法 public void select(){

 

 

                               System.out.println("教务系统崩溃了,"+name+"没有选到课"); }

 

                        public void select(PE pe){

 

                       System.out.println(name+"选了一节"+pe.getName()+"。"); }

                                         }

 

                   public class PE {

 

 

                                 //定义名字属性

                                 public String name;

 

                                 //定义设置名字的方法

                                 public void setName(String name){ this.name=name; }

 

                                   // 定义获取名字的方法

                                 public String getName(){ return name; }

                                   }

该程序运行结果为:类与对象