黑马程序员-面向对象思想

                大家都知道,java是面向对象的一种语言,那么什么是对象呢?

                万事万物皆是对象,因为对象总是有两个特点,第一个是自己的属性,还有自己的方法(可以理解为本身的功能)。

                在我们实际生活当中面向对象的编程思想更加适合我们的思考角度,只要我们实例化这个对象我们就能够调用他里面的它和面向过程有什么区别呢,面向过程是以过程为主导,加上步骤、方法,从而导致了过程是先有算法后有数据结构,而java则恰恰相反。

                 在用面向对象思想开发的过程中,可以复用对象就进行复用,如无法进行复用则开发新的对象。 
                 开发过程是用对个简单的对象的多个简单的方法,来实现复杂的功能 。 从语法上来看,一个类是一个新的数据类型。 
                 在面向对象编程中,除了简单数据类型,就是对象类型。 定义类的格式: class  Student{   代码}

一、在类中都是有哪些内容呢

               1.是构造方法

                

	private ForTest(){//构造方法可以和别的方法一样
		System.out.println("先初始化这个代码块");
	}
               如果没有自定义构造方法的时候,系统会有一个默认的构造方法,当然是为空的。那么现在试想一下如果一个类person中有一个构造方法,在其子类中也有一个构造方法,那么首先会执行哪个方法呢?首先会加载父类的,然后是子类的。

             构造方法也是可以用修饰符进行修饰的,比如public等

             2.普通方法

 

       public void mans(){
		System.out.println("普通方法");
	}
               大家都知道方法可以有返回值,那么试想我们可不可以在同一个类中添加这样一个方法

       public void mans(int i){
		System.out.println("普通方法");
	}
               结论是可以的,这就是重载(Overloading),Overloading在一个类中可以定义多个同名方法,各个方法的参数表一定不同。但修饰词可能相同,返回值也可能相同。这个过程我们称之为编译时多态。同时构造方法也是可以进行重载

在构造方法中,this表示本类的其他构造方法: student(){}; student(string n){ 
  this();//表示调用student() } 
如果调用student(int a)则为this(int a)。 特别注意: 
用this调用其他构造方法时,this必须为第一条语句,然后才是其他语句。

注意:如果是有this表示一个类或者是方法时,那么this代表当前对象。

               那么我们可不可以在子类中写一个和父类一样的方法呢,那就是重写(Over)。

二、类的基本操作

1、封装,可以将类中的属性进行封装,而对于类中的方法我们尽可能的进行公开,这样做的好处是保证对属性的访问方式统一,并且便于维护访问权限以及属性数据合法性。

                一般情况下,我们将属性私有化(protect),方法公开,但是这并不是绝对,在实际的开发过程中我们要按照合适的情况进行判断。

               2、继承,父类的非私有化属性和方法可以默认继承到子类。 Class Son extends Father{ } ,而如果父类中的私有方法被子类调用的话,则编译报错。  
父类的构造方法子类不可以继承,更不存在覆盖的问题。(非构造方法可以) 如果子类访问父类的构造方法,则在编译的时候提示访问不到该方法。 JAVA中不允许多继承,一个类有且只有一个父类(单继承)。

在前面我们已经整理了,相同类中调用本类的构造方法的时候用this,那么子类调用父类的构造方法时候呢?

3.多态,多态指的是编译时类型发生改变,而运行时类型不发生改变。

多态分两种: 
① 编译时多态:编译时动态重载; 
② 运行时多态:指一个对象可以具有多个类型

4.修饰符,这里不做详细解释,可到我的博客寻找(黑马程序员--修饰符)

                 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值