java-面向对象

发布时间:2024年01月24日

面向对象理解

面向对象是基于面向过程而言,面向过程是注重事件具体过程实现步骤和顺序,而面向对象是

把这些事情对象化,对象化后就更注重参与者是谁,需求有什么对象,这些对象需要干什么。

对象是怎么来的呢?对象是根据类创建而来,对象是事件的对象化,事件的属性定义为类中的成员变量。

面向对象的基本特征

1.封装

封装是指通过访问修饰符(private)来修饰成员变量和成员方法,利用公共的(public)的(setter和gettrt)的方法进行调用。

2.继承

继承是新的类通过extends来继承一个旧的类,子类继承父类可以继承父类的部分方法还可以定义自己的新方法,可以大大提高开发效率。

如果父类是抽象类,并且含有抽象方法,子类就必须继承父类的抽象方法。

3.多态

多态是接口的不同实现方法是指一个行为的不同表示方式。

Method方法

对方法的修饰有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;
	}

1.构造方法

构造方法是与类名同名的方法并且没有返回值,若要调用构造方法必须使用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;
    }
}

2.方法的重载

方法的重载是指在一个类中,一组同名但参数不同的方法。

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 + "!");
        }
    }

3.方法的重写

方法的重写大多用在子类对父类方法的继承重写覆盖;

重写是方法名相同,返回值也相同,参数也相同。

class Person{
    String name;
    int age;
    public void Person(){...}
}
class Student extends Person{
    public void Person(){...}
}

文章来源:https://blog.csdn.net/weixin_63691530/article/details/135778187
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。