//主方法
public static void main(String[] args){}
//属性
int number;
String number;
boolean number;
Customer[] customers;
double number;
char number;
//构造器
public 类名(){}
//带参构造器(this是指当前的属性)
public Customer(String name, char gender, int age, String phone, String email) {
this.name = name;
this.gender = gender;
this.age = age;
this.phone = phone;
this.email = email;
}
//声明对象传参
Customer customer = new Customer(name, gender, age, phone, email);
//重载构造器(类名相同,形参不同)
public 类名(){}
public 类名(String name){}
//方法
public void emdrMain(){}
//方法重载(方法名相同,形参不同)
public void UinMian(){}
public void UinMian(int age){}
public void UinMian( int age,String opLte){}
//try执行不报错语句,catch执行报错语句
try{ } catch (NullPointerException e){}
//创建声明对象
类名 变量= new 类名();
//修饰符
private(类内部,私有的)、缺省(同一个包)
protected(不同包的子类)、public(同一个工程)
//进行无限循环()
for(;😉{}
while(){}
//get和set方法
public String getNumber(){
return number;
}
public void setNumber(int number){
this.number =number
}
/**
* 面向对象的特征之二:继承性
* 一、继承的方式
* ① 减少了代码的冗余,提高了代码的复用性
* ②便于功能的扩展
* ③为多态性的使用,提供了前提
* ④修饰符设置到权限,就不能随意在子类使用;
* ⑤可以多层继承,减少代码体里面的重复代码
Student:子类、派生类、subclass
Person:父类、超类、基类、superclass
体现:子类继承父类以后,子类中就获取了父类中的声明的结构:属性、方法
*/
public class Student extends Person {}
public class ExtendsTest extends Student {}
public class JeieCeop extends ExtendsTest {}
//可变参数(可变参数要放在形参的后面,数组可以放前面)
public class Eoot{
public static void main(String[] args){
Eoot E =new Eoot();
E.say(“1”,“2”,“3”… …)
}
}
public void say(String …str){
System.out.println(str.length)
}
public void (String[] str){
System.out.println(str.length)
}
/**
- 方法的重写(override/ove)
- 1.重写:子类继承父类以后,可以对父类中同名同参数的方法,进行覆盖操作
- 2.应用:重写以后,当创建子类对象以后,通过子类对象调用子父类的同名同参的方法时,
- 实际执行的是子类重写父类的方法。
- 3.重写的规定:
- 方法的声明:权限修饰符 返回值类型 方法名(形参列表){
- 方法体
- }
- 约定俗称:子类中的叫重写,父类中的叫被重写的方法
-
- ①子类重写的方法的方法名和形参列表与父类被重写的方法名和形参列表相同
- ②子类重写的方法的权限修饰符不小于父类被重写的方法的权限修饰符
- ③返回值类型:父类被重写的方法返回值类型是void,则子类重写的方法的返回值类型只能是void
- ④子类重写的方法抛出的异常类型不大于父类被重写的方法抛出异常类型(具体放到异常处理是讲)
- static:
- 子类和父类的同名同参数的方法要么都声明为非static(考虑重写),要么都声明static的(不是重写)
- 加上static不是重写方法
*/
//四种权限(继承)
//同一个包中的其它类,不可以调用Order类中私有的属性,方法
//在不同的包子类中,不能调用Order类中声明为private和缺省权限的属性方法;
//不同包下的普通类(非子类)要使用Order类,不可以调用声明为private、缺省、protected、权限的属性、方法
//public的权限最大
//super关键字
1.super 理解为父类的
2.super 可以用来调用:属性、方法、构造器
3.我们可以在子类的方法或构造器,通过super属性或super方法的方式,显示的调用
父类中的声明的属性或方法。但是,通常情况下,习惯省略super;
4.特殊情况:当子类和父类中定义了相同的属性时,用super来区分父类属性;
5.在子类调用父类被重写的方法"super.XXX();“,调用重写的方法"this,XXX()”;
6.super 调用构造器:
父类构造器(Person):
int id;
public Person(String name, int age) {
this(name);
this.age = age;
}
public Person() {
System.out.println(“我无处不在!”);
}
子类(Student extends Person):
int id;
public Student(String name,int age,String major){
//"super(形参列表)"的使用,必须声明在子类构造器的首