日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java自学笔记_JAVA自学笔记(4)

發布時間:2025/3/12 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java自学笔记_JAVA自学笔记(4) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

發現JAVA的有趣

Day1 繼承不是"繼承"

1.0 繼承的格式

public classFU {public voidmethod()

{

System.out.println("Good night!");

}

}

public class ZI extendsFU {

}

public classPractice {public static voidmain(String[] args) {

ZI zi=newZI();

zi.method();

}

}

打印結果:

Good night!

2.0 繼承中成員變量的訪問特點

public classFU {int num=10;int numfu=100;public voidmethodfu()

{

System.out.println(num);

}

}

public class ZI extendsFU {int num=20;int numzi=200;public voidmethodzi()

{

System.out.println(num);

}

}

public classPractice {public static voidmain(String[] args) {

ZI zi=newZI();

FU fu=newFU();

System.out.println(zi.numfu);//100

System.out.println(zi.numzi);//200//第一種

System.out.println(zi.num);//20;

System.out.println(fu.num);//10//第二種

zi.methodzi();//20

fu.methodfu();//10

zi.methodfu();//10

}

}

3.0??區分子類方法中重名的三種

public class ZI extendsFU {int num=20;public voidmethodzi()

{int num=100;

System.out.println(num);//100

System.out.println(this.num);//20

System.out.println(super.num);//10

}

}

4.0 方法的覆蓋重寫

繼承中方法的覆蓋重寫 (典型事例)

收舊手機!報廢手機!手機換盆!換剪子!換菜刀!

public classOldphone {public voidcall()

{

System.out.println("didi~主人的電話來啦");

}public voidsend()

{

System.out.println("叮咚! 有一條新信息");

}public voidshow()

{

System.out.println("顯示來電");

System.out.println("來電鈴聲");

}

}

public class Newphone extendsOldphone {

@Overridepublic voidshow(){super.show();

System.out.println("顯示姓名");

System.out.println("顯示頭像");

}

}

public classPhone {public static voidmain(String[] args) {

Oldphone oldphone=newOldphone();

Newphone newphone=newNewphone();

System.out.println("老手機的功能:");

oldphone.call();

oldphone.send();

oldphone.show();

System.out.println("=============");

System.out.println("新手機的功能:");

newphone.call();

newphone.send();

newphone.show();

}

}

打印結果:

老手機的功能:

didi~主人的電話來啦

叮咚! 有一條新信息

顯示來電

來電鈴聲

=============

新手機的功能:

didi~主人的電話來啦

叮咚! 有一條新信息

顯示來電

來電鈴聲

顯示姓名

顯示頭像

5.0 繼承中構造方法的訪問特點

6.0 Java 繼承的特點

6.0 繼承的案例 (群主發紅包啦 快去搶!)

首先 對案例的分析

搶紅包的實現

public classUser {private intmoney;privateString name;publicUser(){};public User(intmoney, String name) {this.money =money;this.name =name;

}public voidshow()

{

System.out.println("我叫"+getName()+" 我還有:"+getMoney());

}public intgetMoney() {returnmoney;

}public void setMoney(intmoney) {this.money =money;

}publicString getName() {returnname;

}public voidsetName(String name) {this.name =name;

}

}

importjava.util.ArrayList;public class Owner extendsUser{publicOwner() {super();

}public Owner(intmoney, String name) {super(money, name);

}public ArrayList send(int sendmoney,int count)//發多少 發幾份

{

ArrayList list=new ArrayList<>();int totalmoney=super.getMoney();//當前余額

if(totalmoney

{

System.out.println("余額不足!");returnlist;

}super.setMoney(totalmoney-sendmoney);int ave=sendmoney/count;int mod=sendmoney%count;//余數放在最后一個紅包

for(int i=0;i

{

list.add(ave);

}

list.add(ave+mod);returnlist;

}

}

importjava.util.ArrayList;importjava.util.Random;public class Member extendsUser {publicMember() {super();

}public Member(intmoney, String name) {super(money, name);

}public void receive(ArrayList list)

{int index=new Random().nextInt(list.size());//0~list.size()-1

int datamoney=list.remove(index);int leftmoney=super.getMoney();//原有的金額

super.setMoney(datamoney+leftmoney);

}

}

importjava.util.ArrayList;public classHongbao {public static voidmain(String[] args) {

Owner owner=new Owner(100,"方時赫");

Member one=new Member(0,"金碩珍");

Member two=new Member(0,"金南俊");

Member three=new Member(0,"閔玧其");

owner.show();

one.show();

two.show();

three.show();

System.out.println("===============");

ArrayList list=owner.send(20, 3);

one.receive(list);

two.receive(list);

three.receive(list);

owner.show();

one.show();

two.show();

three.show();

}

}

打印結果:

我叫方時赫 我還有:100

我叫金碩珍 我還有:0

我叫金南俊 我還有:0

我叫閔玧其 我還有:0

===============

我叫方時赫 我還有:80

我叫金碩珍 我還有:6

我叫金南俊 我還有:8

我叫閔玧其 我還有:6

Day3 抽象???

1.0 抽象類的方法

舉個列子778吧

public abstract classAnimals {public abstract voideat();

}

public class Dog extendsAnimals{public voideat(){

System.out.println("狗吃骨頭");

}

}

public class Cat extendsAnimals{public voideat(){

System.out.println("貓吃魚");

}

}

public classPractice {public static voidmain(String[] args) {

Cat cat=newCat();

Dog dog=newDog();

cat.eat();

dog.eat();

}

}

打印結果:

貓吃魚

狗吃骨頭

2.0 抽象類的使用的注意事項

Day 4 歡迎來到接口的世界!

1.0 接口的定義

2.0 接口的抽象方法的定義

3.0 接口的抽象方法的使用

public interfaceMyinter {public abstract voidmethod1();public abstract voidmethod2();public abstract voidmethod3();

}

public class Interfaced implements Myinter {//實現類

@Overridepublic voidmethod1() {

System.out.println("這是第一個方法!");

}

@Overridepublic voidmethod2() {

System.out.println("這是第二個方法!");

}

@Overridepublic voidmethod3() {

System.out.println("這是第三個方法!");

}

}

public classPractice {public static voidmain(String[] args) {

Interfaced inte=newInterfaced();

inte.method1();

inte.method2();

inte.method3();

}

}

打印結果:

這是第一個方法!

這是第二個方法!

這是第三個方法!

4.0 接口的默認方法的定義

5.0 接口的默認方法的使用

public interfaceMyinter {public abstract voidmethod1();public abstract voidmethod2();public abstract voidmethod3();public default voidmethod4()

{

System.out.println("新增加的方法!");

}

}

public class Interfaced implements Myinter {//實現類

@Overridepublic voidmethod1() {

System.out.println("這是第一個方法!");

}

@Overridepublic voidmethod2() {

System.out.println("這是第二個方法!");

}

@Overridepublic voidmethod3() {

System.out.println("這是第三個方法!");

}

@Overridepublic voidmethod4() {

System.out.println("這是覆蓋重寫的 方法!");

}

}

public classPractice {public static voidmain(String[] args) {

Interfaced inte=newInterfaced();

inte.method1();

inte.method2();

inte.method3();

inte.method4();

}

}

打印結果:

這是第一個方法!

這是第二個方法!

這是第三個方法!

這是覆蓋重寫的 方法!

6.0 接口的靜態方法的定義

7.0 接口的靜態方法的使用

public interfaceMyinter {public static voidmethodstatic()

{

System.out.println("這是一個靜態方法");

}

}

public class Myinterface implementsMyinter {

}

public classMain {public static voidmain(String[] args) {//錯誤寫法 Myinterface.methodstatic();

Myinter.methodstatic();

}

}

打印結果:

這是一個靜態方法

8.0 接口的私有方法的定義

public interfaceMyinter {public default voidmethod1()

{

System.out.println("這是一個默認方法1");

method3();

}public default voidmethod2()

{

System.out.println("這是一個默認方法2");

method3();

}private voidmethod3()

{

System.out.println("AAA");

System.out.println("BBB");

System.out.println("CCC");

}

}

public interfaceMyinter {public static voidmethod1()

{

System.out.println("這是一個默認方法1");

method3();

}public static voidmethod2()

{

System.out.println("這是一個默認方法2");

method3();

}private static voidmethod3()

{

System.out.println("AAA");

System.out.println("BBB");

System.out.println("CCC");

}

}

9.0 接口中常量定義和使用

10.0 接口的小結

11.0?繼承父類并實現多個接口

12.0 接口的多繼承

總結

以上是生活随笔為你收集整理的java自学笔记_JAVA自学笔记(4)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。