2021-07-14

学习总结

Java学习内容:

构造器

一个项目应该只存一个main方法,新建一个类进行构造

public class Appication {
    public static void main(String[] args) {
        //new实例化了一个对象
        person per=new person("huxiangxiang");
        System.out.println(per.name);//null

    }
}

2.有参构造

//有参构造:一旦定义了有参构造,无参必须显示定义
public person(String name){
    this.name=name;
}

3.无参

public person(){
}

4.方法名和类名相同
没有返回值

5.作用
new本质再调用构造方法
初始化对象的值

6.注意点
定义有参构造后,想使用无参构造,显示的定义一个无参的构造

7.快捷键

构造参数使用 alt+insert

无参:constructor select none
有参:constructor ok

封装

private

优点:

  • 良好的封装能够减少耦合。
  • 类内部的结构可以自由修改。
  • 可以对成员变量进行更精确的控制。
  • 隐藏信息,实现细节。

属性私有 get,set

alt+insert ->get and set ->选择属性

学生类:

//类 private:私有
public class pri {
     //属性私有
    private String name;
    private int id;
    private char sex;

    //不能直接引用
    // 要通过 public 的get,set方法

    //get获得数据
    public String getname(){
        return this.name;

    }
    //set 设置值
    public void setname(String name){
        this.name=name;
    }

this

解决实例变量(private String name)和局部变量(setName(String name)中的name变量)之间发生的同名的冲突。

主类

//一个项目应该只存一个main方法
public class Appication {
    public static void main(String[] args) {
        pri p1=new pri();
        //不能直接用p1.name;
        //因为属性是私有的
        p1.setname("hu");//先进行set
        System.out.println(p1.getname());//在get值


    }
}

继承

extends

私有的东西无法被继承

所有类是继承于 java.lang.Object

当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang 包中,所以不需要 import)祖先类。

申明一个类从另外一个类继承而来

class 父类 {
}
 
class 子类 extends 父类 {
}

继承类型

java支持多重继承,不支持多重继承

继承特性

单继承

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D3jxaLh4-1626271447762)(C:\Users\HuEris\AppData\Roaming\Typora\typora-user-images\image-20210714191852018.png)]

punlic classA(){
    .....
}
public classB() extends A{
    
}

多重继承

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qnl1SGL0-1626271447766)(C:\Users\HuEris\AppData\Roaming\Typora\typora-user-images\image-20210714192136456.png)]

punlic classA(){
    .....
}
public classB() extends A{
    
}
public classC() extends B{
    
}

不同类继承同一类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GaxVvnt8-1626271447769)(C:\Users\HuEris\AppData\Roaming\Typora\typora-user-images\image-20210714192315565.png)]

punlic classA(){
    .....
}
public classB() extends A{
    
}
public classC() extends A{
    
}

不支持多继承

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tTVXOsdr-1626271447771)(C:\Users\HuEris\AppData\Roaming\Typora\typora-user-images\image-20210714192534678.png)]

punlic classA(){
    .....
}
public classC() extends A,B{
    
}

implements

变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

public interface A {
    public void eat();
    public void sleep();
}
 
public interface B {
    public void show();
}
 
public class C implements A,B {
}

super

实现对父类成员的访问

 public Student() {
        //隐藏:调用父类构造器
        //调用父类构造器,必须在子类构造器第一行
        super();
        //this();
        System.out.println("student无参执行了");
    }

注意点

super 调用父类构造方法,必须在构造方法第一个

super 必须在只能出现在子类方法或者构造方法中

super和this不能同时调用构造方法

与this区别

代表对象不同

this:本身调用者这个对象

super:代表父类对象的应用

前提

this:没有继承也可使用

super:只有在继承条件下可以使用

构造方法

this():本类的构造

super():父类的构造

this

向自己的引用

javafx

下载可视化软件 sceneBUilder

1.idea新建javafx项目

2.右击sample.fxml ->open in sceneBUilder

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值