黑马程序员_java面向对象基础学习笔记

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


java面向对象基础


面向对象的定义:

     面向对象(Object-Oriented,简称OO)就是一种常见的程序结构设计方法。
面向对象思想的基础是将相关的数据和方法放在一起,组合成一种新的复合数据类型,然后使用新创建的复合数据类型作为项目的基础。

面向对象是一个很抽象的概念,它相对面向过程而言。过程与对象都是一种解决问题的思想。


面向过程:强调的是功能行为,一种过程,先干啥,再干啥;

面向对象:将功能封装到对象里,强调的是具备某功能的对象;

按照面向对象的思想,可以把任何的东西看做对象!


面向对象的三个特征:封装、继承和多态

类:

      Java类是对事物共有特征和功能的描述。

按照面向对象技术进行设计时最小的单位,也是组成项目的最基本的模块。类的概念是抽象的,类似于建筑设计中的图纸,是对于现实需要代表的具体内容的抽象。类只包含框架结构,而不包含具体的数据。所以类代表的是总体,而不代表某个特定的个体。

类的定义:

[修饰符] class  类名{

      1~n个构造方法;

        0~n个字段;

       0~n个方法

}

例子:

class Myclass {
	Myclass(){//默认构造函数
		
	}
	Myclass(String name){//有参构造函数
		this.name = name;
	}
	private int age;//字段
	private String name;//字段
	
	public void function(){//成员函数
		System.out.println("成员函数");
	}
}

构造方法:
用来构造类的实例(每一个类都默认有一个无参的构造方法,得使用new调用)

字段:类或对象所包含的数据,对类状态的一种描述;

方法:类或对象的特征或行为

作用:给类中的字段进行初始化,可以用来创建对象。

特点:方法名与类名相同
不用定义返回值类型 不需要写return语句
对象的产生格式:类名称 对象名 = new  类名称();
如:
Myclass myclass  = new Myclass();

调用方法的另一种表现形式:匿名对象
特点:对方法或字段只进行一次调用时;可作为实际参数进行传递;只在堆里面开辟存储区域,只能使用一次,  使用完就被销毁了;
如:
new Myclass().age = 12;

static关键字:

特点:

随着类的加载而加载

优先于对象存在

被所有对象所共享

可以直接被类名调用

使用注意:

静态方法只能访问静态成员

但是非静态成员可以访问静态成员;

静态方法中不可以使用this,super关键字

主方法(main)是静态的(可以利用类名去调用静态的main方法,很正常!但是会陷入死循环,导致内存溢出,jvm自动停止!)

public static void main(String[] agrs){}  

     

总结:

static 修饰的字段和方法,既可以通过类调用,也可以使用实例调用;static修饰的字段和方法,只能使用实例来调用(建议使用:类名来调用;   其实在底层,对象调用类成员,也会转换类名调用)

static关键字不能与thissuper同时连用!


this关键字:

特点:this表示当前对象。

当前对象 : 当前正在调用实例成员的对象


this关键字调用时机:方法间的相互调用;

this.字段;


构造器中相互调用,但是此时this([参数])必须写在构造方法第一行

this不能用在static修饰的方法里和static修饰的代码块里;

 

如:构造方法中的this.name = name;





 
  
 

 
 








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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值