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

Posted for米洛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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); //输出车的颜色
}

 


































以上是关于Java面向对象一(封装 继承 多态 类 对象 方法)的主要内容,如果未能解决你的问题,请参考以下文章

JAVA面向对象,继承、封装、多态

Java面试题详解一:面向对象三大特性

面向对象(封装,继承,多态)

JAVA基础——面向对象三大特性:封装继承多态

Java中面向对象的三大特征是啥?

面向对象(封装继承多态抽象)