类和对象
public String sayHello(){
//修饰符/ /返回值类型/ /方法名/ /方法的参数/
return "hello,world!"; return 返回值;
}
/*
void 可以不写返回值,return一个空就行 : return;
return 结束方法,返回一个结果
break 结束循环,结束switch
*/
静态方法:
直接类名.方法名就可以调用成功
非静态方法需要实例化:
对象类型 对象名=new 对象值;
形式参数和实际参数
其类型要对应:
public static void main(String[] args){
int add = Demo3.add(a:1, b:2);实际参数
System.out.println(add);
}
public static int add(int a(形式参数), int b(形式参数)){
return a+b;
}
值传递
一个类里面只有属性和方法
类是抽象的,需要实例化
类实例化之后会返回一个自己的对象
对象就是一个类的具体的实例
以类的方式组织代码,以对象的组织封装数据
对象的属性:student.name
对象的方法:stodent.sleep()
构造器
特点:1、必需和类的名字相同
2、必须没有返回类型,也不能写void
1、一个类即使什么都不写,它也会存在一个方法
2、使用new关键字,本质是在调用构造器
3、有参构造:一旦定义了有参构造,无参构造就必须显示定义
4、alrt+insert会生成构造器(constructor)
封装
类:private
给私有属性提供一些可以操作的方法
提供一些public的get(获得数据)和set(设置数据)的方法
alt+insert选中getset就可以自动生成
继承
关键词:extends
person是父类
student是子类
子类是父类的扩展
子类继承了父类的所有东西除了私有的private
在java中所有的类都默认直接或者间接的继承object类
Super
调用父类的构造器必须要在子类构造器的第一行,否则会报错!!
方法的重写
前提:需要有继承关系,子类重写父类的方法!
1.方法名必须相同,方法体可以不同
2.参数列表也必须相同
3.修饰符:范围可以扩大但是不能缩小:public>protected>default>private
4.抛出异常:范围可以被缩小但是不能扩大:classNotfoundException --> Exception(大)
重写都是方法的重写和属性无关
父类的引用指向了子类是可以的
alter+insert选择override重写方法
多态
instanceof
instanceof关键字,用来判断前后类型是否相似
Static关键字详解
非静态方法可以调用静态方法里的东西而静态方法只能调用静态方法!
abstract抽象类
抽象方法只有方法名,没有方法的实现
抽象类的所有方法,继承了它的子类都必须要实现它的方法,除非子类也是抽象类
接口的定义与实现
interface
一个类实现多个接口 称之为多继承 通过implements
内部类
一个java类中可以有多个class,但是只能有一个public class