• Java面向对象一(封装 继承 多态 类 对象 方法)


    1.封装:主要实现了隐藏细节,对用户提供访问接口,无需关心方法的具体实现。

      如下,人这个类封装了很多人的属性和行为;

    2.继承:很好的实现了代码的复用,提高了编程效率。

    人{
    年龄(属性一)
    身高(属性二)
    性别(属性三)

    做事(行为之一)
    走路(行为之二)
    说话(行为之三)
    }

    教师{
    年龄(属性一)
    身高(属性二)
    性别(属性三)

    做事(行为之一)
    走路(行为之二)
    说话(行为之三)

    教书(行为之四)
    }


    教师继承了人的属性和行为,额外多出的是教书的行为。所以可以写成        教师 继承了 人这个类 的属性行为额外多出 教书的行为。

    教师extends 人{

    教书(行为之三)
    }

    3.多态:程序的可扩展性及可维护性增强。

    多态性就是指父类的某个方法被其子类重写时,可以各自产生自己的功能行为。简单来说,多态是具有表现多种形态的能力的特征。

    当一个类有很多子类时,并且这些子类都重写了父类中的某个方法。那么当我们把子类创建的对象的引用放到一个父类的对象中时,就得到了该对象的一个上转型对象,那么这个上转的对象在调用这个方法时就可能具有多种形态.

    对象&类

    1.对象是类的一种实例化, 对象用"属性"和"方法"来对应描述事物所具有的"静态属性"和"动态属性"。

    2.类是用于描述同一类形的对象的一个抽象的概念, 类中定义了这一类对象应该具有的"静态属性"和"动态属性"

    3.合适的方法出现在合适的类里

    我理解的类,对象,方法:

    1.类(具有相同属性和方法的对象的集合):首先它是抽象化的,没有具体指某个,而是指某一类。

      比如说:人,汽车,动物,植物。

      没有指具体哪个人(不管是大人,小孩,不管男女,只要是人,就属于人这个类)

      也没有指具体哪辆汽车(不管什么牌子的汽车,不管几个轮子,只要它是汽车,就属于汽车这个类)。

      

    public class Car{
      
    }

    2.对象(有属性和方法):类的实例化      -----------万物皆是对象--------------  

      比如说:具体某个人(我),具体某辆车(我的这辆车),具体某个动物(这只猫)。

      

    3.方法(函数,成员函数):     就是完成特定功能的代码块

      比如说:人吃饭,刹车等都是方法。  

      3.1普通方法

      格式:

    修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {
      方法体语句;
      return 返回值;    //void类型  不用写return
    }

      

      3.2构造方法

    特点:

    1.方法名称和类名相同
    2.不用定义返回值类型
    3.不可以写return语句

    作用:

    给对象初始化

    构造方法的细节:

    当一个类中没有定义构造函数时,系统会默认添加一个无参的构造方法。

    当在类中自定义构造方法之后,默认的无参构造方法消失(如果需要无参构造方法需手动添加)。

    public Car{
         private String color;   权限修饰符private   
    
         public void setColor(String color) {
            this.color = color;
         }  //这是一个set方法
    
         public String getColor() {
             ....
         }  //这是一个get方法
          
    }     // 这就是一个类,具有共有属性,方法;
    
    
    
    
    public static void main(String[] args) {
        Car a=new Car();        //实例化Car类(传说中的New一下)     a就是实例化之后的类,也就是对象
        a.setColor="红色";
      String s = a.getColor;
      system.out.println(s); //输出车的颜色
    }
  • 相关阅读:
    ckfinder+ckeditor配置经验
    人人商城模块研究
    微擎小程序支付功能+退款功能
    php服务器网络请求
    linux对workerman的扩展和配置
    linux安装php_screw加密php代码
    webForm渲染视图的基本方法
    sql注入和暴库
    数据库设计命名规范
    枚举、结构体、联合体的简单应用程序-C语言
  • 原文地址:https://www.cnblogs.com/klose11/p/6863377.html
Copyright © 2020-2023  润新知