Java面向对象语法秒上手

前言

欢迎来到我的博客

个人主页:北岭敲键盘的荒漠猫-优快云博客

面向对象基本也就那些东西,感觉每次学都一大片相同的东西

这篇博客专门整理Java的面向对象语法。

对新手极不友好,对老手极其友好。

类声明

语法:

[修饰符] class 类名{
    //属性声明
	修饰符 数据类型 变量名 = [初始值];

    
    //构造器
    修饰符 构造器(参数){
        构造器代码
    }


    //方法定义
	修饰符 返回值类型 方法名(参数){
	    方法代码
    }
}

案例:

public class Student {
    // 属性声明
    public int age = 18;

    // 构造器
    public Student() {
        System.out.println("类实例化成功");
    }

    // 方法定义
    public void putout() {
        System.out.println("我输出了内容");
    }
}

构造器简介

这个就类似于python的init,php的魔术方法。

他会在实例化的那一刻执行。

构造器必须跟类名相同

与python和php不同的是他可以有多个构造器。(归功于重载)

但是构造器的参数数量不能相同。

实例化的时候传入几个参数,就执行有几个参数的构造器。

类对象的使用

 实例化:

//变量声明
类名 变量;

//实例化对象
变量 = new 构造器(参数);
//变量声明
Student zhangsan;

//实例化对象
zhangsan = new Student();

属性与方法的使用:

//属性赋值
对象.属性 = 内容;

//方法调用
对象.方法();
//属性赋值
zhangsan.age = 15;

//方法调用
zhangsan.putout();

重载

即,方法名相同,但是参数的类型,数量不同也是可以的。

对方调用的时候,给的什么参数,就会执行什么方法。

常用关键字

this关键字

跟php一样,对标python的self。

this.属性

super关键字

用于调用父类的方法和属性。

super.父类属性;

super.父类方法();

super(参数)//执行父类构造器

final关键字

修饰的方法不能被继承,重写,重新赋值。

修饰的类不能被继承。

static关键字

不允许用this访问自身。

其他地方可以直接用类.方法或者类.属性直接使用

(像函数一样)

封装属性

修饰符:

        private:只能在当前类中访问

        default:在同一个包中的类可以访问,是默认权限

        protected:主要在继承中使用,可以被子类访问

        public:任何地方的类都可以使用

继承属性

语法:

修饰符 class 类名 extends 父类名{
   内容
}

 补充:

Java只能继承一个父类,而且不能继承构造器。

多态属性

方法重写:

直接重新写父类方法就能给父类的覆盖了。

抽象类

别的语言没遇到过,特述一下:

代码层面:就是无法实例化的类,可以被继承,但是无法实例化。

举例说明:

我们假设一个类群用来绘图动物。类中描绘动物的细节。

我们能描绘出狗,猫,兔子。

但是我们无法描绘出他们的父类:动物。

所以动物就可以用抽象类表述。

abstract来定义修饰。

public abstract class Animal {
    int age;
 
    abstract public void eat();
    abstract public void run();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北岭敲键盘的荒漠猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值