小白初学面向对象基本概念分享

本文介绍了面向对象编程的基本概念,包括类和对象的定义、属性和方法、Java中的类和对象创建、成员变量与局部变量、构造方法、封装、继承、多态等核心原理,为初学者提供了一个清晰的入门指南。
摘要由CSDN通过智能技术生成

小白初学面向对象基本概念分享

一、类和对象
1.对象的特征
属性:对象具有的各种描述,描述了对象是什么。
方法:对象执行的操作,对象能做什么。

2.对象:用来描述客观事物的一个实体,由一组属性和方法构成。
3.类:具有相同属性和方法的一组对象的集合。
类是对象的抽象,对象是类的实体。

4.java中的类:
(1)所有的java程序都以类class为组织单元。
(2)关键字class定义自定义的数据类型。

public class  类名 {
               //定义属性部分
               属性1的类型 属性1;
               属性2的类型 属性2;
                      …
               属性n的类型 属性n;

               //定义方法部分
               方法1;
               方法2;
                     …
               方法m;
}

5.定义类中的方法
①Java中方法的命名遵循如下原则:
首字母小写;
是动词;
如果由多个单词组成,则使用驼峰方式命名;
②语法:(方法的5要素)

public   返回值类型  方法名(参数列表)  {  //形参特殊如:方法名(String ...a),则代表有很多同一类型的参数

           //这里编写方法的主体
}
作用域:public等
返回值类型:有返回值则必须用return返回;无返回类型,则返回值类型为void;

6.java中产生对象
①语法: 数据类型 对象名(变量名)= new 数据类型();
②方法法人调用:
语法:对象名.方法名
方式:自己掉自己的另一个方法,直接调用就可以,写方法名。
别人调用自己的方法,需要将对象new出来之后,再去调用。

7.成员变量和局部变量
(1)成员变量可以看成是属性,在类中定义的。

(2)局部变量,在方法的程程序体中定义

区别:

区别点成员变量局部变量
–作用域–整个类法的内部都是可见的仅限于他的方法
初始值java会给成员变量一个初始值不会给局部变量初始值
重名时以局部变量为主;若非要用到成员变量则可以用到关键字this,即this.成员变量名以局部变量为主;若非要用到成员变量则可以用到关键字this,即this.成员变量名

8.java中的构造方法
(1)分类:
①隐式构造方法(无参)
②显示构造方法:无参数的构造方法、有参数的构造方法。

(2)作用:构造并初始化实例对象(创建对象)。
(3)定义:public 类名(形式参数列表){构造方法体;}
(4)调用:new 类名(实际参数列表);
(5)构造方法的特点:
①构造器和类具有相同的名字。
②一个类有多个构造器。
③构造器有0、1或多个参数。
④构造器没有返回值和返回类型。
⑤构造器不能被显示调用,构造器总是和new运算符一起调用,在创建一个类的新对象的同时,系统会调用改类型的构造器为新的对象初始化。

二、面向对象(OO)的三大特征
1.封装

1)封装:就是隐藏实现细节。
2)步骤:
a)private 需要隐藏的细节(要隐藏的属性);

b)提供两种方法:setXXX()、getXXX() //set赋值,无返回值、get读取值,有返回值。

(3)封装的好处:
①隐藏性
②提高系统的独立性
③提高软件的可重用性
④降低了构建大型系统的风险性,即使整个系统不成功,个别的独立子系统有可能依然是有价值的。

2.继承
(1)定义:子类具有父类的一般特性(暴扣属性和方法)以及自身的特性。
(2)语法:public class 子类名 extends 父类名{ };
java是单继承,即一个子类只有一个父类
(3)好处:可以使代码重复使用
(4)子类自动继承父类的属性和方法,子类可以定义特定的属性和方法。
方法重写:子类和父类的方法具有相同的名称、参数列表、返回类型。方法重写后,通过super关键字调用父类的方法;
子类的构造方法中,通过super关键字调用父类的构造方法。
在这里插入图片描述

(5)在Java 中,所有的Java类都直接或间接地继承了java.lang.Object类。

(6)继承过程:
①产生子类对象时,先产生父类对象,父类对象是有jvm完成的。
②系统默认调用无参的构造器来初始化父类对象。可以在子类构造器的第一行去指定调用父类的哪一个构造器,如:super(形参);
(7)继承调用总结:

例如:
比如A是父类,B是继承与他的子类。
A a=new A(); 
只调用A自身的构造方法;
B b=new B();
首先调用A的构造方法,然后调用B自己的构造方法
A a=new B();
调用同上

(8)继承特征:
①继承关系是传递的
②继承简化了人们对事物的认识和描述,能清晰体现相关类间的层次结构关系。
③继承提供了软件复用功能。
④继承通过增强一致性来减少模块间的接口和界面,大大增加了程序的易维护性。

3.多态

(1)定义:多态是具有表现多种形态的能力的特征。

(2)多态是面向对象的程序设计语言最核心的特征,表现形式:

    ①方法的重载(overload):

        实现条件:a)方法名相同  b)方法的参数类型、个数、顺序至少有一个不同。(但是与返回值类型、参数名无关)

    ②方法的重写(overrides):

        重写的特征:a) 发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法) 

                    b) 子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常) 
                    c) 子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别) 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值