java基础

面向对象编程(OOP)

属性+方法=一个类

面向过程:线性思维

面向对象:物以类聚,分类的思维模式(多人协作)

(Object-Oriented Programming):以类的方式组织代码,以对象组织(封装)数据

三大特性:

封装/继承/多态

方法

/*

修饰符 返回值的类型 方法的名字(方法参数){

//方法体

return 返回值;

}

eg:public Stirng helloWorld(){return "helloWorld!"}

*/

break与return区别?

break:跳出switch,结束循环

continue跳出本次循环

return:方法结束,返回一个结果!

异常抛出

//数组下标越界

方法的调用

一.静态方法与非静态方法

//静态方法 static

可以通过类名.方法

//非静态方法

1.实例化这个类,用new

2.对象名.方法

Student student = new Student()

student.say

值传递与引用传递

引用传递:对象,本质还是值传递

类与对象

类是一类抽象的数据类型,对象是抽象概念的具体实例

创建对象new:student1是类Student类的具体实例

Student student1 =new Student()

//一个项目应该只有一个main方法

构造器(必须掌握!!!)

public class Person{}

Person person = new Person();

一个类即使什么也不写,也存在一个构造类

构造器有两个特点:1.必须和类的名字相同

2.必须没有返回类型,也不能写void

public person(){}

使用new关键字,必须有构造器!**构造用来初始化对象的值**

有参构造:一旦定义了有参构造,无参就必须显示定义!

//Alt+insert 快捷键创建

对象内存分析(理解)

默认初始值

数字:0.0

char:u0000

boolean:false

引用:null

封装(数据的隐藏)

该露的露,该藏的藏-----“高内聚,低耦合

private:私有。提供一些public的get,set方法。

快捷键(alt+insert)

/提高程序的安全性,隐藏代码的实现细节,统一接口,系统可维护性增强/

继承(认真理解)

extends:public class teacher extends Person{}

修饰符:public,protected,default,private

(ctrl+H)侧边打卡一棵数,查看继承关系

在java中,所有的类,都默认继承object类

java中只有单继承,没有多继承!!!

Super

name,this.name,super.name

1.super是调用父类的构造方法,必须在构造方法的第一个

2.suoer必须只能出现在子类的方法或者构造方法中!

3.super和this不能同时调用构造方法!

Vs this:

this:本身调用者者个对象

super:代表父类对象的应用

方法重写

//父类的引用指向子类

//方法的调用只和左边定义的数据类型有关

注解:有功能的注释!Override重写,显示圆圈跟箭头。

重写:需要有继承关系,子类重写父类方法

1.方法名相同

2.参数相同

3.修饰词:范围可以扩大,但是不能缩小

public>protected>default>private

4.抛出的异常:范围可以缩小,但是不能被扩大 ClassNotFoundException---->Exception(大)

Alt+Insert---->override;

多态

动态编译:可扩展行变强

对象能执行那些方法,主要看对象左边的类型,和右边关系不大!

注意事项:

/*

1.多态是方法的多态,属性没有多态

2.父类和子类有联系

类型转换异常,Classcastexpection

3.存在条件:存在继承关系,方法需要重写,父类的引用指向子类对象!

*/

没办法重写的方法:static方法不属于实例,final常量,private私有

instanceof

判断一个对象是什么类型

抽象:编程思想!

static

抽象类

abstract:抽象方法,只有方法名字,没有方法的实现!!!不能new,只是约束,靠子类实现

接口可以多继承(extends单继承)

接口

接口:只有规范!自己无法写方法。专业的约束!约束和实现分离。

interface!!!

接口中的所有定义都是抽象的,接口都需要有实现类!!!

implement

//抽象的思维

接口的作用:

1.约束

2.定义一些方法,让不同的人实现

3.方法都是public abstract

4.常量都是public static final

5.接口不能实例化

6.implements可以实现多个接口

内部类

内部类就是在一个类的内部再定义一个类

1.成员内部类

2.静态内部类

3.局部内部类

4.匿名内部类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值