关于java基础学习

JAVA基础,咱们简单说吧,因为Java作为一门编程语言,需要多练,不像HTML是一门超文本标记语言。java的编程就像亚当和夏娃,没穿衣服,但是功能齐全,而HTML就像衣服,就像一句古话"人靠衣装,马靠鞍"。所以标记就是为了好看,内容还是数据,由后端语言调用数据库中的数据,所以说数据库语言很重要,后端语言页很重要,HTML也很重要,还是回归正题java。

java是什么呢,我个人认为java就是操作,学习java就像考驾照,比如语法就相当于交通规则,方法就相当于开车步骤,开门放大象……,说错了,开门上车扣驾驶带,看后视镜,等等等等。java基础就像C照,javaEE就像B照或者A照。

弄共分三步

java基础中三大要素封装,继承,多态。这里先讲封装和继承,多态太多了。

封装

封装和盒子脱不开关系,盒子有什么用呢,1.保密, 2.好运输呗。

所以封装就是为了以下四点:

  • 1. 良好的封装能够减少耦合。

  • 2. 类内部的结构可以自由修改。

  • 3. 可以对成员变量进行更精确的控制。

  • 4. 隐藏信息,实现细节。

耦合听了好多年是不是感觉耳朵都起茧子了吧,但是耦合是个啥呢,我认为耦合就是两个孩子一样的名字,之后老师叫学习差回答问题,想让学习差的上去出丑,但是名字一模一样,叫了名字学习好的上去了,学习差的睡着了,没听见,是不是老师的目的没达成。(我上学也是差生😂)

类的内部结构可以更改,怎么说呐,工资实际3500,你说不到十万和说不到十个亿,有什么区别呐。比如我坐公交和坐地铁,和我没钱的本质是不会变的。或者说你是家里老大,你们家生个弟弟或者妹妹,父母对你的爱是不会变的,就相当于在类内部调用方法和变量,不过可能调用你的频率会下降。

月薪3500的我

成员变量进行更精确的控制,回到上面两个同名的孩子。放学回家,俩爸爸同时叫他们的名字,

两个爸爸的声音不一样,不同的孩子朝自己父亲的方向跑去,这就是精准控制。

隐藏成员变量,方法。主要是为了防止源代码的泄露。要说哪次孩子被坏人拐卖了,父母得多伤心。就形成了四个模样的家长,public(主打放养,世界美好),protect(子类和都有protect标签的父母),default(远亲近邻都能接(package里面的都能用)),private(只有小家可以接小孩(class内可以使用))

注:类是class,包是package,模块module,项目project

public class Penguin { 
    private String name; 
    private int id; 
    public Penguin(String myName, int  myid) { 
        name = myName; 
        id = myid; 
    } //这就是封装
}

继承

继承是什么?九四子类对父类的继承,继承父类的方法和变量,也遵从上述的四个访问权限,父类的public,protect肯定能调用。但是public和protect修饰的父类中的default修饰的方法和变量,子类是可以访问的。就想土豪父亲想把钱捐给基金会这个基金会就像内部的方法和变量的修饰词default,而土豪父亲内心真正想的是public和protect,就是像给子女亲人基金会理事长,儿女会衣食无忧。

遗产你能不能继承呐,好像父亲没有资产转让的想法

单继承
//父类
public class A{
    private int rom;
    public void setRom(int rom){
     this.rom =rom;
    }

}
//子类
public class B extends class A{
      public B(int rom) { 
        super(rom);
}
多重继承
public class A{
    private int rom;
    public int Setrom(int rom){
        this.rom=rom;
    }
}
public class B extends A{
    public B(int rom){
        super(rom);
    }
}
public class C extends B{
    public C(int rom){
        super(rom);
    }
}
不同类继承
public class A{
    private int rom;
    public int Setrom(int rom){
        this.rom=rom;
    }
}
public class B extends A{
    public B(int rom){
        super(rom);
    }
}
public class C extends A{
    public C(int rom){
        super(rom);
    }
}
super关键字和this关键字的区别
super关键字

super()只能出现在构造方法的第一行,通过当前的构造方法去调用“父类”中的对应的构造方法,

就比如说,父亲有农具,儿子想耕地,这就是借用父亲的方法,农具相当于父类方法,耕地相当于儿子的方法变量,但是儿子要耕地,那么提前得向借父亲,才能耕地,这个借相当于super()。这个过程也叫做父类方法的重写

目的是:创建子类对象时,先初始化父类型特征。

super()特点

(1)super能出现在实例方法和构造方法中。

(2)super的语法是“super.”和“super()”。

(3) super不能出现在静态方法中。

(4) super大部分情况下是可以省略的。

this和super的区别:

this是引用变量,保存该对象的地址,super是父类的特征,这怎么说呐,this相当于父亲的拥有的物质财富,super相当于你借父亲的东西,所以说可以System.out.println(this);,但是不能System.out.println(super);。父亲可以展示他的东西比如说农具,耕牛,甚至是房子。但是他们的所属权都是属于父亲的,不是你的。借来的,你只能使用。

父类yyds,项目不停止我就是不死(资深打工人的资本)

之后就是有super,就没有this;有this,就是没有super。卧龙诸葛,二者得一及可得天下。

开玩笑的呐,就是和because和so一样,鱼和熊掌不可兼得,在同一类中。总不能你借(super)了你父亲的东西,然后就说是我的(this)。毕竟代码的世界,有用不可能死亡,无用必备删除。(😭,努力做个有用的人)

public Cat(String name, int age) {
	super(name);
	this.age = age;
}

这个是个例外啊,我没super(age),所以我能用this.age=age;吓我一跳我当礼乐崩坏了呢。

1、this和super一样,都是对象内部的引用变量,只能出现在对象内部;

2、this指向当前对象自己,super指向当前对象的父类型特征,故this的东西比super多,也就是super是this的一部分;

3、this()和super()都只能出现在构造方法的第一行,故this()和super()方法不能共存,当一个类的构造方法第一行中没有this(),也没有super(),系统默认有super()方法;

4、this()是构造方法中调用本类其他的构造方法,super()是当前对象构造方法中去调用自己父类的构造方法。

  • 23
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值