面向对象是基于面向过程而言,面向过程是注重事件具体过程实现步骤和顺序,而面向对象是
把这些事情对象化,对象化后就更注重参与者是谁,需求有什么对象,这些对象需要干什么。
对象是怎么来的呢?对象是根据类创建而来,对象是事件的对象化,事件的属性定义为类中的成员变量。
封装是指通过访问修饰符(private)来修饰成员变量和成员方法,利用公共的(public)的(setter和gettrt)的方法进行调用。
继承是新的类通过extends来继承一个旧的类,子类继承父类可以继承父类的部分方法还可以定义自己的新方法,可以大大提高开发效率。
如果父类是抽象类,并且含有抽象方法,子类就必须继承父类的抽象方法。
多态是接口的不同实现方法是指一个行为的不同表示方式。
对方法的修饰有private,protected,public等多种修饰方法
public class Account {
//成员变量私有化
private String realname="";
private String phonenumber="";
private int socer=60;
private LocalDateTime now=null;
//使用setter,getter方法
//set再使用的时候不需要定义类型,但是需要参数
public void setRealname(String realname) {
//this是指定当前变量
this.realname=realname;
}
//get对象使用时不需要参数,但是需要String类型
public String getRealname(){
return realname;
}
构造方法是与类名同名的方法并且没有返回值,若要调用构造方法必须使用new操作符。
在我们每次创建一个实例(对象)的时候,我们需要同时初始化这个实例;例如:
Person name=new Person();
name.setName("小花");
我们可以通过采用构造方法把我们要输入的值直接传入:每个
public class demo{
public static void main(String[] args) {
Person p=new Person("小花");
System.out.println(p.getName));
}
}
class Person{
private String name;
public Person(String name){
this.name=name;
}
public String getName(){
return this.name;
}
}
?任何类都有构造方法,因为我们再创建类的时候,编译器会自动为我们创建一个默认的无参构造方法,若我们自己定义了,编译器就不会再自动创建默认构造方法了。在一个类中,只有一个无参构造法有多个有参构造方法,如果想在构造方法中调用上一个构造方法就需要用到this这个关键字。
class Person{
private String name;
public Person(String name){
this.name=name;
}
public Person(){
this("name");
}
public String getName(){
return this.name;
}
}
方法的重载是指在一个类中,一组同名但参数不同的方法。
class Hello {
public void hello() {
System.out.println("Hello, world!");
}
public void hello(String name) {
System.out.println("Hello, " + name + "!");
}
public void hello(String name, int age) {
if (age < 18) {
System.out.println("Hi, " + name + "!");
} else {
System.out.println("Hello, " + name + "!");
}
}
方法的重写大多用在子类对父类方法的继承重写覆盖;
重写是方法名相同,返回值也相同,参数也相同。
class Person{
String name;
int age;
public void Person(){...}
}
class Student extends Person{
public void Person(){...}
}