JAVA面向对象入门

概念:

java语言就是面向对象的语言,使用面向对象编程就要把对象抽象化成类,类实例化就是对象,通过代码使对象整合起来容易理解。把问题看成若干个对象,这些对象没有关系,但相互完成工作。

什么是对象:

现实世界中存在的事物,万物皆对象。

什么是类:

类是对象的抽象化,是对象的模板,具有一个对象的相同特征。

类的组成:属性和方法。

1.面向对象三大特征

封装

概念:隐藏对象的实现细节和属性,对外公开接口,通过访问修饰符限定了访问权限。

四大访问修饰符:

 

访问修饰符可以修饰属性和方法体。 

继承

概念:两个类直接或间接存在父与子的关系,一个类继承另一个类。继承是类与类之间的关系,类支持单继承,接口实现了多继承。继承父类的方法和属性。子类可以根据访问修饰符来对父类的对象及其属性进行访问。

优点:提高了代码的复用性,利于维护。

缺点:降低了程序的耦合度。子类受限于父类。

多态

概念:在继承的基础上对代码进行简化,在事务实现上提供多种实现方法。

特点:

1.必须存在继承关系。

2.父类型的引用指向子类型。

3.父类没有的方法,子类的方法不能实现多态。

优点:提高了代码的扩展性。

缺点:子类独有的属性与方法无法使用。

2.面向对象的一些关键字

final

使用:修饰方法和属性

作用:

1.修饰的类无法继承

2.方法无法覆盖

3.变量只能赋一次值,并且只能手动初始化

4.修饰的引用指向某一个对象就不能在指向其他对象,对象内部数据可以改变

5.和static一起使用是常量

this

1.一个应用,一个变量,内存地址指向了自身,在堆内存中

2.不能使用在带static的方法中

abstract class(抽象类)

1.抽象类无法实例化和创建对象,可以被子类继承

2.方法都是抽象方法,有构造方法

interface(接口)

1.属性是常量,由public static final修饰,可以省略

2.方法是抽象方法,由public abstract修饰,可以省略

3.支持多继承

接口和抽象类的区别

1.接口是完全抽象的,抽象类是半抽象的

2.接口没有构造方法

3.抽象类只能单继承

3.面向对象的方法

概念:现实世界中要做的事,通过代码整合成方法,去实现一些功能,里面的方法体里有属性。

分类

1.静态方法

组成:通过访问修饰符修饰来决定其访问权限,有访问修饰符   static  返回类型  方法名 参数和方法体组成。

特征

1.通过对象或者类来调用

2.静态方法只能调用静态方法

2.实例方法

组成:通过访问修饰符修饰来决定其访问权限,有访问修饰符   返回类型  方法名 参数和方法体组成。

特征

1.只能通过对象来调用

2.实例方法之间可以互相调用

3.抽象方法

组成:通过访问修饰符修饰来决定其访问权限,有访问修饰符   abstract   返回类型  方法名 参数和方法体组成。

特征

1.不能直接调用抽象方法,只能通过子类来实现方法覆盖

4.面向对象的属性

概念:对象的一些基本特征

属性的数据类型分为基本数据类型和引用类型

1.基本数据类型:byte,short,char,int,long,float,double,boolean

这八种基本数据类型的包装类都实现了自动拆装箱,可以互相转换。

 2.引用类型:String,Date,Integer等存放地址和值。

按声明位置属性的分类

1.成员变量:实例变量和静态变量。

2.局部变量:在方法体和代码块,方法参数里的变量。

注意:实例方法里面不能有静态变量,除非通过(类.静态变量)的方式调用,静态方法里面不能有实例变量,除非通过(对象.实例变量)的方式调用。

5.内存分配机制

关于变量在内存中的存储:局部变量在栈区存放,引用类型存放在堆区,常量存放在常量池,要使用时直接从常量池调用,静态变量和全局变量存放在全局区,全局区又存放在方法区.

过程:运行 java代码时先启动JVM虚拟机,然后运行main方法,main方法在执行过程中在栈区生成main栈,main栈里面的地址指向堆区的地址,一一对应,要使用时调用堆区的地址来对对象进行操作,最后运行结束main栈又从栈区弹出,没用的数据被垃圾回收机制报废处理。

以上纯属个人见解,如果有问题可以提出并评论或者私信。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值