zoukankan      html  css  js  c++  java
  • 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); //输出车的颜色
    }
  • 相关阅读:
    mysql 历史版本下载
    mysql 5.7 版本 You must reset your password using ALTER USER statement before executing this statement报错处理
    5.7 zip 版本的安装 以及遇到的坑
    mysql 5.6zip版本的卸载与5.7 zip 版本的安装
    mysql数据库的备份与还原
    本地Navicat连接docker里的mysql
    docker修改数据库密码
    docker 在push镜像到本地registry出现的500 Internal Server Error
    linux 没有界面内容显示不全解决办法
    json与map互相转换
  • 原文地址:https://www.cnblogs.com/klose11/p/6863377.html
Copyright © 2011-2022 走看看