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

发现JAVA的有趣

Day1 继承不是"继承"

1.0 继承的格式

ab829d8cb50aa54adcca007f018bd1dd.png

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 继承中成员变量的访问特点

9e1622c58fb31922e8a6bb6c04693d36.png

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  区分子类方法中重名的三种

391d6668c1f3aa67e932c3a850935bd3.png

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 方法的覆盖重写

24d27bfdf534f4d522d06124fcb45352.png

cce18f22e5f0bb11434dff1c3a894724.png

继承中方法的覆盖重写 (典型事例)

收旧手机!报废手机!手机换盆!换剪子!换菜刀!

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 继承中构造方法的访问特点

a3d4e0fdec8a813d7677845290de7f1d.png

6.0 Java 继承的特点

5ab77be8c78065f4c6a4faef5a023562.png

6.0 继承的案例 (群主发红包啦 快去抢!)

首先 对案例的分析

1cf060fcc155b18bfc013332bfa1a2a9.png

抢红包的实现

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 抽象类的方法

b2f5cea891f092a2526f73baba3b9a84.png

举个列子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 抽象类的使用的注意事项

e62bfc5901476605d56a162f53361ca2.png

Day 4 欢迎来到接口的世界!

1.0 接口的定义

dbf2f20cd88a5b72e7217e8e71ff7b2e.png

2.0 接口的抽象方法的定义

eb9ad2387f8eb2b1378b049b4c67358d.png

3.0 接口的抽象方法的使用

bb108d382f25c7790e8d93cf332d7518.png

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 接口的默认方法的定义

9d29081a130d92ea2d6c5705cd7acb42.png

5.0 接口的默认方法的使用

41d133146dec4d5f5aae6073230db5fa.png

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 接口的静态方法的定义

527ee6d9d3539d04300fb3c27fa9c799.png

7.0 接口的静态方法的使用

3aaef38d43b5ae59eef16759851181b4.png

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 接口的私有方法的定义

48569941e139d3afb5d246af04cb4f84.png

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 接口中常量定义和使用

c22b10afc399ac8f1ca4659061a3a446.png

10.0 接口的小结

7ad3a9e02883320235c8e866d9169b15.png

11.0 继承父类并实现多个接口

23e84f365dc4a7aecec380a6a655cc58.png

12.0 接口的多继承

3d14f9a71194005bb2bce16387e13095.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563626.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java分隔符算法_《Java数据结构和算法》栈 分隔符分配

分隔符包括“&#xff5b;“、"["、”(”、“] “、“)“、“&#xff5d;”&#xff0c;每个左分隔符需要右分隔符匹配。同时&#xff0c;在字符串中后出现左分隔符应该比早出现的先匹配。程序从字符串中不断读取字符&#xff0c;每次读取一个字符。若发现是左分隔符…

Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解

这篇文章主要介绍了Java Iterator接口遍历单列集合迭代器原理详解,文中通过示例代码介绍的非常详细&#xff0c;对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下Iterator接口概述在程序开发中&#xff0c;经常需要遍历集合中的所有元素。针对这种需求&#x…

php商城的购物车功能,php实现购物车功能(以大苹果购物网为例)

首先是几个简单的登录页面登录用户名&#xff1a;密 码&#xff1a;登录页面写好之后&#xff0c;需要进入处理页面&#xff0c;从数据库中调出用户名和密码&#xff1a;session_start(); //开启session 必须要写到第一行header("Content-type:text/html;charsetutf-8&quo…

php的功能和特点,php的特点有哪些

PHP是一种服务器端、跨平台、html嵌入式的脚本语言执行速度快&#xff1a;PHP是一种强大的CGI脚本语言&#xff0c;语法混合了C、Java、Perl和PHP式的新语法&#xff0c;执行网页比CGI、Perl和ASP更快&#xff0c;这是它的第一个突出的特点。 (推荐学习&#xff1a;PHP视频教程…

php小程序码生成并保存,小程序中如何生成小程序码

导语&#xff1a;小程序是一种不需要下载安装即可使用的应用&#xff0c;它实现了应用“触手可及”的梦想&#xff0c;用户扫一扫或者搜一下即可打开应用。也体现了“用完即走”的理念&#xff0c;用户不用关心是否安装太多应用的问题。应用将无处不在&#xff0c;随时可用&…

php写不了php,php写入内存不足怎么办

php写入内存不足的解决办法&#xff1a;1、修改【php.ini】&#xff1b;2、在程序里面添加相关语句&#xff0c;代码为【ini_set(memory_limit, 12M)】&#xff1b;3、在根目录建立【.htaccess】文件。本教程操作环境&#xff1a;windows7系统、PHP5.6版&#xff0c;DELL G3电脑…

java 终态类,javaoo,继承,抽象类,终态类,访问修饰符!

java的继承&#xff01;Java的继承使用extends关键字&#xff01;为什么要使用继承呢&#xff1f;我们先来举例说明一下&#xff01;比如说&#xff01;烟是类&#xff01;而叶子烟&#xff0c;和纸烟&#xff0c;烟这个类包含了&#xff0c;叶子烟和纸烟这两个类&#xff0c;如…

php cdr,win10彻底禁止cdr联网

1、打开Win10电脑&#xff0c;然后按winPauseBreak&#xff0c;来到“系统”属性窗口&#xff0c;点击控制面板&#xff0c;如图所示&#xff1a;2、打开来到控制面板页面&#xff0c;鼠标单击“系统和安全”&#xff0c;如图&#xff1a;3、打开在“系统和安全”对话框中&…

微信 语音转文字 java,在微信——怎么将语音转化为文字,你需要学习了

有时候和好友在聊天&#xff0c;这时好友在微信上发来语音信息&#xff0c;可是你这个时候不方便听语音&#xff0c;那怎么办呢&#xff1f;这个是我们就可以运用微信的语音转文字的功能&#xff0c;那么如何使用这个功能呢&#xff1f;跟着小编看看吧&#xff01;操作方法01小…

php开发添加表情功能,WordPress网站评论区如何实现添加表情包功能?

做网站过程中&#xff0c;可以给自己的网站添加评论框&#xff0c;供用户评论。默认情况下&#xff0c;Wordpress网站评论框是没有添加表情功能的&#xff0c;那么WordPress网站评论区如何实现添加表情包功能&#xff1f;今天我们介绍一下如何给自己的Wordpress网站评论框添加表…

日冕物质抛射检测matlab,日冕图像论文,关于基于实时数据的日冕物质抛射自动检测方法相关参考文献资料-免费论文范文...

导读:本论文主要论述了日冕图像论文范文相关的参考文献,对您的论文写作有参考作用。(昆明理工大学信息与自动化学院,昆明 650504)(Faculty of Information Engineering and Automation,Kunming University of Science and Technology,Kunming 650504,China)摘 要&#xff1a;本…

link url下载php,php脚本生成google play url的下载链接,下载apk并自动反编译后获取android版本号...

php脚本生成google play url的下载链接&#xff0c;下载apk并自动反编译后获取android版本号需求:get the offer tracking linkfollow the redirect to get google play urlGo to http://apps.evozi.com/apk-downloader/Enter google play urlDownload APK fileDecompile APK f…

oracle单行子查询返回多个行 order by,单行子查询返回多个行 Issue分析求助

with order_base as --获取订单基础情况(select ou.order_key order_key, ou.order_quantity_i, ood.dispatch_time_t, ou.part_number_s, I032ZZ01 pline_name_sfrom order_uv ou left join at_as_om_orderdispatchstatus ood on ou.order_key ood.order_54union allselect m…

php按照名称搜索,PHP从类型和名称搜索

很抱歉,标题不好,但我不知道有更好的选择.目前,我正在创建一个搜索引擎以获取产品详细信息.我有2种搜索类型,第一种是使用产品类型进行搜索,另一种是使用产品名称进行搜索.这是搜索代码&#xff1a;$search_exploded explode (" ", $search);$x "";$cons…

简述oracle数据库特殊状态,【OracleDB】 01 概述和基本操作

实例概念&#xff1a;Oracle有一个特殊的概念Oracle数据库 数据库 Oracle文件系统 Oracle实例实例处理Oracle的请求&#xff0c;调用文件系统然后返回结果响应给客户端单实例和多实例一个数据库可以对应多个实例操作数据库服务这是Oracle数据库的服务&#xff0c;一定要安装…

oracle中affirm,2.Oracle Data Guard 参数介绍

Oracle Data Guard 参数介绍Data Guard作为Oracle提供的一个高可用及灾备解决方案,理解并可以实施它对于DBA来说是非常重要套的技能上节介绍了有关Data Guard的概念&#xff0c;这节将介绍相关的一些参数有的参数是做为备库角色时才生效的&#xff0c;会单独说出来1. DB_NAME该…

Linux单独编译设备树,迅为IMX6Q开发板-非设备树内核-单独编译内核驱动

内核驱动不仅可以将驱动编译到内核中&#xff0c;还可以动态的编译内核驱动。本文档介绍如何以模块的方式编译内核驱动。要动态的编译内核&#xff0c;首先需要将内核源码编译通过&#xff0c;内核的编译请参考使用手册第五章。9.5.2.1 内核和编译器路径本节介绍内核路径、编译…

win8关闭uefi+linux,UEFI启动是什么?Win8关闭UEFI引导方式的方法

UEFI启动是什么?不少新电脑都给用户直接预装了Win8系统&#xff0c;后来使用又非常不习惯&#xff0c;因此想改成Win7系统&#xff0c;但是在换系统之前&#xff0c;需要在BIOS下关闭UEFI引导方式&#xff0c;可能很多朋友都不懂该如何关闭UEFI启动项。针对这个问题&#xff0…

android listview自动加载更多,如何实现 Android ListView『上拉加载更多』?

ListView上拉加载更多的UI需求(1)向上滑动 ListView&#xff0c;当最后一个条目滚入屏幕时开始加载更多条目&#xff0c;在列表底部增加一个 footerView&#xff1a;一个 infinite progressBar&#xff0c;一个 textView 显示 “Loading...”&#xff1b;(2)根据数据加载的结果…

android安全性发展,Android未来发展 安全是重点

自2008年首部Android手机问世以来&#xff0c;谷歌智能手机方面的发展也开始高歌勇进&#xff0c;经过近8年的发展&#xff0c;Android已经成为市场上最大的移动互联网操作系统&#xff0c;市场占有率位居第一&#xff0c;虽然其竞争对手iOS步步紧逼&#xff0c;但是由于Androi…