Java面向对象的开始(第六天)

Java面向对象的开始(第六天)

面向对象和面向过程的区别:

​ 面向过程:注重的是解决的过程,步骤;

​ 面向对象:是从宏观上的,整体上的设计;

​ 例如:将大象装入冰箱:

​ 用面向过程的思路解决:

​ 分三步:
第一步:打开冰箱门;

​ 第二步:把大象装进去;

​ 第三步:关上冰箱门;

​ 用面向对象的思路解决:

​ 分两类:

​ 第一:设计冰箱类:

​ 开门();

​ 关门();

​ 第二:设计人类:

​ 操作();

Java类

​ 概念:类就是拥有同一类事物的属性与行为的抽象的描述。

类的结构:

​ 1.成员变量:对象属性的描述;

​ 2.方法:对象的行为;

​ 3.构造方法:用于创建对象;

​ 4.内部类: 在类体中声明的类;

​ 5.块:代码块。

​ 类的声明格式:

[访问权限修饰符] [修饰符] class 类名 {

}

类的属性:(成员变量)是类的成员,变量,被类所包含。

​ 定义语法:

​ [访问权限修饰符] [修饰符]数据类型 变量名[=值];

​ 特点:

​ 1.定义在类中,方法体之外;

​ 2.数据类型可以是基本类型/引用类型;

​ 3.成员变量可以不赋值,java会使用默认值自动赋值 引用类型(null) float(0.0)…;

4.在创建对象的时候会从类中复制一份到对象中;

5.作用域为整个类,在类中方法,构造方法,代码块中被使用。
​ **类的行为(方法):**是类的成员,被类所包含。

​ 声明语法:

​ [访问权限修饰符] [修饰符]数据类型/void(无返回值型)方法名([参数类型 参数名]){

​ 语句块

}

​ **类的对象:**就是对类的实例化,是具体的一个事物;

​ 例如:Car baoma = new Car();

new Car():new关键字 + 默认构造方法;

​ 作用是在内存空间中创建一个对象;

Car baoma :声明一个变量,指向内存空间中的具体对象;

​ 使用baoma变量访问对象中的属性和方法。

示例:

/*
类的声明格式:
[访问权限修饰符] [修饰符] class  类名 {

}

*/
public class Car {
	/*
		成员变量的声明:
		[访问权限修饰符] [修饰符]数据类型	变量名[=值];
	*/	
           String name;
           float price;
           String color;

           /*
              方法的声明:
              [访问权限修饰符][修饰符] 返回值类型/void 方法名([参数类型 参数名称]){

                    [return 值];
               }
            */
           public void start(){
               System.out.println(name+"汽车启动");
           }

           /*
              在方法、构造方法或者语句块中定义的变量被称为局部变量;
             局部变量可以使用Java语言中任何一种数据类型(包括基本类型和引用类型);
             局部变量在使用前必须初始化赋值;
             变量声明和初始化都是在方法中,方法结束后,变量就会自动销毁;
             方法的参数也是属于 局部变量, 在调用时,会为其赋值。
            */
    //创建一个run()方法,传入参数 String a;
           public void run(String a){
               int speed;
               speed = 10;
               System.out.println("行驶"+speed+a);
           }
	//创建一个stop()方法
           public void stop(){
                System.out.println("刹车");
           }
    
     		public static void main(String[] args) {

        /*
           创建汽车对象:
              以Car类为模板,
          Car baoma  =  new + Car();  new 关键字+默认构造方法();
                 在内存空间创建一个对象  实际存在的   实例化对象
           Car baoma 以Car类作为类型 声明一个变量 指向内存空间中的具体的对象
               使用baoma变量访问对象中属性,方法

               通过类可以创建无数个对象
         */
                
          //创建一个以Car为模板的baoma对象
              Car baoma  = new Car();
                  baoma.name = "x5";
                  baoma.price = 600000;
                  baoma.color = "红色";
                
		  //创建一个以Car为模板的benchi对象
              Car benchi = new Car();
                  benchi.name = "GTR";
                  benchi.price = 700000;
                  benchi.color = "黑色";

                System.out.println(baoma.name);
                System.out.println(baoma.price);
                System.out.println(baoma.color);

                 baoma.start();//成员方法必须通过对象调用

}

构造方法

概念与作用:

​ 1.是定义在Java类中一个用来创建对象的方法;

​ 2.构造方法与类名相同,没有返回值,也不需要用void修饰;

​ 3.一个类中也可以拥有多个构造方法(方法的重载);

​ 4.如果类中没有显示声明构造方法,类中也会默认产生一个没有参数的构造方法;

​ 5.一旦类中定义了新的构造方法,则默认的无参构造的方法将会失效,但还是建议将无参的构造方法显示出来;

方法的重载

​ 指在同一个类中定义相同名字的多个方法,但其参数不同

​ 参数不同(可以有三方面的不同):

​ 1.数量不同

​ 2.类型不同

​ 3.顺序不同

示例:

public class Person {
       /*
          成员变量
        */
       String name;
       int age;
       
       /*
          构造方法
        */
       public  Person(){
           System.out.println("Person构造方法1");
       }
       
		public Person(String n){
              name = n;
              System.out.println("Person构造方法2");
       }

       public Person(String n,int a){
              name = n;
              age = a;
              System.out.println("Person构造方法3");
       }

       /*
        成员方法进行方法的重载
        构成方法重载的条件
        在同一个类中,有多个方法名相同,且参数不同.
            参数不同具体表现:
             个数不同
             类型不同
             顺序不同
        */
       public void eat(){

       }
       public void eat(int a){

       }
       public void eat(int a,int b){

       }
       public void eat(String a,int b){

       }
       
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值