Java OOP 式编程

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

这里我们写好了学生信息的类

再写另一个测试类(Test)

public class Test {

public static void main(String[] args) {

//这里我把这Test类和StudentData类放在了同一目录下

StudentData s=new StudentData();//创建我们封装好的类的对象

s.setAge(18);//这里调用我们封装好的类的方法

s.setName(“Gorit”);

s.setGender(“male”);

//第二种方式,一步到位 StudentData s=new StudentData(“Gorit”, 18, “male”);//创建我们封装好的类的对象

//这是一种字符串处理方法,把我们想要打印的东西全都存放到str中

String str=“姓名:”+s.getName()+" 性别:“+s.getGender()+” 年龄:"+s.getAge();

System.out.println(str);

}

}

文章编辑于

2019年4月4日00:20:48

二、继承

多个类中存在相同的属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只需继承那个类即可

这个单独的类成为父类,基类或者超类:这多个类可以成为子类或派生类

现在给定一个父类(Father)和子类(Son)

写父类的属性和方法,父类现在有100元,和会踢足球的属性

再写子类,子类直接继承父类的属性和方法,再另外写一个打篮球的方法

(1)子类继承父类

父类:

public class Father {

public int money=100;

public void play() {

System.out.println(“踢足球”);

}

}

子类:

继承的关键字是extends

public class Son extends Father{

public void myMonye(int money) {//这里孩子就继承了父类的属性和方法

// System.out.println(money);

System.out.println(super.money);//两种方法均可以调用

}

public void playBasketball() {//子类另外增加自己的方法

System.out.println(“打篮球”);

}

}

创建一个测试类 Test

如果

public class Test {

public static void main(String[] args) {

// TODO Auto-generated method stub

Son s=new Son();//创建子类的对象

System.out.println(s.money);//孩子继承父亲的money

s.play();

s.playBasketball();

}

}

(2)方法的重写

当子类和父类中的方法的的参数,返回值,方法名完全一致时,在子类中写的方法如果有变动,就会覆盖父类的方法,这样就成为”方法重写“

Tips:

1、父类的私有方法不可以被重写

2、子类重写父类方法的时候,访问权限不能更低,比如父类是public,子类就不能是protected

3、父类为static静态方法,子类也必须按照static静态方法重写

这个比较简单,只要子类的的方法实现的参数,方法名,返回值类型和父类是一模一样的,就可以进行重写

示例:

父类

public class A {

public int sum(int number1,int number2) {//这是我们写的父类的两数之和的方法

return number1+number2;

}

public void poj() {

System.out.println(“我是父类方法1”);

}

}

子类:

public class B extends A{

@Override//这个虽然是个注释,但是添加上别人就知道这是重写的方法

public int sum(int number1,int number2) {

return number1+number2+1;

}

public void poj2() {

System.out.println(“我是子类”);

}

}

(3)抽象类

抽象类:

无法使用static,private,final修饰

抽象类之中可以定义抽象方法和普通方法

给定一个炸弹鸟的抽象类

package pojo1;

public abstract class Brid {

// public void attack() {

// System.out.println(“鸟会攻击”);

// }

public abstract void attack();

public void play() {

}

//普通方法必须有方法体

//抽象方法可以没有方法提

}

package pojo1;

public class BoomBird extends Brid{

@Override

public void attack() {

// TODO Auto-generated method stub

System.out.println(“丢炸弹的鸟”);

}

}

package test;

import pojo1.BoomBird;

import pojo1.Brid;

public class BirdTest {

public static void main(String[] args) {

Brid b=new BoomBird();

b.attack();

}

}

在这里插入图片描述

三、接口(补充)

接口的一些特征

1、接口是某个事物对外提供一些功能的声明

2、接口常常和多台使用在一起,也解决了java中单一继承的问题

3、接口的关键字是——interface

4、一般使用接口生命方法或常量,接口中的方法只能声明,不能具体实现

接口的实现:

格式:interface 接口名{}

类实现接口用 impements 实现

格式:class 类名 implements 接口名{}

示例

这里我们写一个防盗门的样例

分析

防盗门具有门的属性和防盗铃的属性

代码实现;

为了方便,这三个文件我放在同一个包的下面

public interface Call {//这是实现门铃的接口

//报警

public void call();

}

public interface Protecte {

//保护的接口

public void pro();

}

//门

public class Door implements Protecte,Call {//这里就解决了无法多继承的问题

@Override

public void call() {

// TODO Auto-generated method stub

}

@Override

public void pro() {

// TODO Auto-generated method stub

}

}

接口还允许多继承

四、多态

最后

这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。

image

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!
stub

}

@Override

public void pro() {

// TODO Auto-generated method stub

}

}

接口还允许多继承

四、多态

最后

这份文档从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。相信这对于所有层次的Redis使用者都是一份非常完美的教程了。

[外链图片转存中…(img-D8T2cCmE-1714432196789)]

整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~

你的支持,我的动力;祝各位前程似锦,offer不断!!!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门,即可获取!

  • 13
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值