java类与对象及继承

进蓝杰学习java编程语言将近10天了,昨天上了一节复习课,发现自己虽然敲了那么多天的代码,但一些概念性的东西还是不太清晰,特别是熊哥提问的时候让我心里有点发怵。我觉得作为一个刚入门的新手还是应该首先从概念上理清楚。以下是我对类与对象,继承这方面的总结。
java代码是以类为单位的,类定义的格式为: 访问修饰符 class 类名{}
在类中可以定义属性和方法, 属性的格式: 访问修饰符 数据类型 属性名;
构造方法的格式:访问修饰符 类名(数据类型,参数,,){}
类的主要作用就是用来作为一个模板,我们可以根据类来创建许许多多的对象,而这些对象都具有在类中定义的属性和方法。
创建对象的格式:类名 对象名=new 类名(实参,,,,);
创建对象的关键字:new
调用属性和方法的格式:对象名.方法名(实参);

类中的方法有构造方法和一般方法
构造方法:
在一个类中,如果没有定义构造方法,则都默认隐式声明了一个无参数的构造方法。我们在创建对象的时候new后面调用的就是构造方法。
构造方法的格式:
访问修饰符 类名(){ }
一般方法:
格式:访问修饰符 返回值 方法名(参数类型 参数变量名,,,){
方法体}
其中一般方法可进行如下分类
1、根据方法的返回值,可分为有返回值的方法和无返回值的方法
有返回值的方法,在对象调用时,就可以通过变量接收返回值。
注:void类型的方法,调用时没有返回值,则不能接收!
2、方法定义时,可分为有参数方法和无参数方法
方法定义时,括号中如果有参数,在调用时必须传入指定类型的参数变量
(对象也可以作为方法参数进行传递)
小结:构造方法与一般方法的区别:
a.构造方法的名字必须和类名一样;
b.构造方法不用声明返回值类型;
c.构造方法一定有返回值,返回值的类型就是方法名,因为构造方法的名字就是一个类的名字,是一个数据类型;
d.构造方法在调用的时候是通过new关键字来调用的
this关键字
This在类中用来指代当前对象,
调用自己的方法
传参
用在构造方法中,this可表示不同的对象,谁调用就表示谁
方法的重载
在一个类中可以定义多个方法名相同,但参数个数、类型、或顺序不一样的方法
关于类的继承,java中只能是单继承,为了减少代码的冗余,我们可以使用继承。关键字为 extends。子类继承了父类,就继承了父类中所有的属性和方法,子类对象可以调用父类中允许调用的方法,但子类也可以有他自己的方法,只是只有子类对象才能调用。
自动转型
比如这样一段代码:
//创建大学生类的对象,将对象类型定义为学生类型
Student stu=new Ustudent();
这种将子类对象的类型定义为父类类型的写法叫做自动转型,也就是说,子类对象的类型可以自动转成父类类型。但它不能调用子类特有的方法。
子类将从父类继承来的方法重新写方法体,叫方法的重写。
抽象类的关键词是abstract
格式:访问修饰符 abstract 返回值类型 方法名([数据类型 参数名,...]);
抽象类中,可以定义已实现的方法,也可以定义像接口中没有实现的方法---继承的子类就必须实现。抽象类中的定义的方法如果没有实现,前面就必须加上abstract,如
Public abstract void draw();
抽象类不能直接创建对象。在继承抽象类的时候,对于父类中有方法体的方法,子类可以直接继承使用,如果父类中的方法是没有方法体的,则子类必须要重写。

接口与对象
接口定义
一个类中的所有方法都没有方法体。
定义接口的关键字:interface
格式:
public interface 接口名 extends 接口,... {
public final static 数据类型 常量名 = 值;
public abstract 返回值类型 方法名([数据类型 参数名,...]);
接口也是一种类,只是这种类必须较特殊。接口的实现要使用关键字implements
格式:public class 类名 extends 类或者抽象类 implements 接口,... {}
注意:类必须要实现接口中的抽象方法。
以上是我今天整理出来的一些内容,可能不尽完善,以后会更加注意一些细节,尽量写好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值