2024年最全面向对象技术书面作业3,死磕原理

最后

面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典

  • Java核心知识整理

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

Java核心知识

  • Spring全家桶(实战系列)

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

  • 其他电子书资料

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

Step3:刷题

既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。

以下是我私藏的面试题库:

2020年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

public Student(String name,char sex,int age,double score){

super(name, sex);

this.age =age;

this.score =score;

}

public void print(){

System.out.println(“学生名字是 " + this.getName() + " 是” + this.getSex()

+"生 , 年龄是 " + this.age + " 岁,成绩是 " + this.score);

}

//setter and getter

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public double getScore() {

return score;

}

public void setScore(double score) {

this.score = score;

}

}

public class Student extends Person{

private int age;

private double score;

//构造方法

public Student(){

}

public Student(String name,char sex,int age,double score){

super(name, sex);

this.age =age;

this.score =score;

}

public void print(){

System.out.println(“学生名字是 " + this.getName() + " 是” + this.getSex()

+"生 , 年龄是 " + this.age + " 岁,成绩是 " + this.score);

}

//setter and getter

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public double getScore() {

return score;

}

public void setScore(double score) {

this.score = score;

}

}

// 定义测试类,生成Person和Student类的对象,

// 并调用相关方法输出学生的姓名、性别、年龄和成绩等。

public class Test {

public static void main(String[] args) {

//无参构造

Person person1 =new Person();

//有参构造

Person person2 = new Person(“小明”,‘男’);

//无参构造

Student student1 = new Student();

//有参构造

Student student2 =new Student(“小红”,‘女’,18,80.0);

//输出学生的信息

student1.print();

student2.print();

}

}

标题题目一:1.设计一个Personal类:

(1)该类有实例变量(属性)id、name、age、sex;

(2)一个无参构造函数和一个有参构造函数;

(3)一组用于访问实例变量的set/get方法。

再设计一个测试类TestPersonal,测试该类。

public class Personal {

//成员变量

private int id;

private String name;

private int age;

private char sex;

//无参

public Personal(){

}

//有参

public Personal(int id,String name,int age,char sex){

this.id = id;

this.name = name;

this.age = age;

this.sex = sex;

}

//setter and getter

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public char getSex() {

return sex;

}

public void setSex(char sex) {

this.sex = sex;

}

}

public class TestPersonalTestPersonal {

public static void main(String[] args) {

Personal personal1 = new Personal();

Personal personal2 = new Personal();

Personal personal3 = new Personal(123,“小明”,18,‘男’);

personal2.setId(122);

personal2.setName(“小红”);

personal2.setAge(19);

personal2.setSex(‘女’);

System.out.println(personal1.getId() + " 号" + personal1.getName() + " 是一个"+ personal1.getSex() + “生,今年” + personal1.getAge());

System.out.println(personal2.getId() + " 号" + personal2.getName() + " 是一个"+ personal2.getSex() + “生,今年” + personal2.getAge());

System.out.println(personal3.getId() + " 号" + personal3.getName() + " 是一个"+ personal3.getSex() + “生,今年” + personal3.getAge());

}

}

题目二:2.设计一个类Student类,该类从Personal派生,该类有学生学号studentID、所在的系部department、年级grade。新的Student类中有相应的构造函数、查询及输出学生个人信息的getInfo()与print()方法。再设计一个测试类TestStudent,测试该类。

public class Student extends Personal {

private int studentID;

private String department;

private int grade;

public Student() {

}

public Student(int studentID, String department, int grade) {

super();

this.studentID = studentID;

this.department = department;

this.grade = grade;

}

public Student(int id, String name, int age, char sex, int studentID, String department, int grade) {

super(id, name, age, sex);

this.studentID = studentID;

this.department = department;

this.grade = grade;

}

public int getStudentID() {

return studentID;

}

public void setStudentID(int studentID) {

this.studentID = studentID;

}

public String getDepartment() {

return department;

}

public void setDepartment(String department) {

this.department = department;

}

public int getGrade() {

return grade;

}

public void setGrade(int grade) {

this.grade = grade;

}

//print()方法

//int id, String name, int age, char sex, int studentID, String department, int grade

public void print(){

System.out.println(“ID: " +this.getId() + " name:” + this.getName()+" age: " +this.getAge() +

" sex: " + this.getAge() + " studentID: " + this.getStudentID() +" department: "+ this.getDepartment() +

" grade: " +this.getGrade());

}

}

public class TestStudent {

public static void main(String[] args) {

//无参构造

Student student1 =new Student();

//有参构造

Student student2 = new Student(111,“电子院”,2);

Student student3 =new Student(1111,“小明”,18,‘男’,112,“电子院”,3);

//打印信息

student1.print();

student2.print();

student3.print();

}

}

作业四: 4、设Shape是圆、矩形、三角形共享的类,含有求圆的周长和面积的方法getCircumference()与getArea(),以及属性DESCRIPTION以描述几何体的特征,试设计相关类圆、矩形、三角形类,并求圆、矩形、三角形的周长与面积。设计相应的测试类,求实际对象的面积与方法。(要求分别将Shape类用抽象、接口实现)。

抽象类实现:

//Shape抽象类

public abstract class Shape {

//属性

String DESCRIPTION;

//计算周长和面积的方法

public abstract double getCircumference();

public abstract double getArea();

//抽象类一定要有构造方法

public Shape() {

}

public Shape(String DESCRIPTION) {

this.DESCRIPTION = DESCRIPTION;

}

}

圆类继承shape抽象类

public class Round extends Shape{

double radius;

//构造方法

public Round() {

}

public Round(double radius) {

this.radius = radius;

}

public Round(String DESCRIPTION, double radius) {

super(DESCRIPTION);

this.radius = radius;

}

//重写抽象类的方法

@Override

//返回圆的周长

public double getCircumference() {

return 2Math.PIthis.radius;

}

@Override

//返回圆半径

public double getArea() {

return Math.PI*Math.pow(this.radius,2);

}

}

矩形继承Shape抽象类

public class Rectangular extends Shape{

int length;

int width;

//构造方法

public Rectangular() {

}

public Rectangular(int length, int width) {

this.length = length;

this.width = width;

}

public Rectangular(String DESCRIPTION, int length, int width) {

super(DESCRIPTION);

this.length = length;

最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

image

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

ic Rectangular(String DESCRIPTION, int length, int width) {

super(DESCRIPTION);

this.length = length;

最后:学习总结——MyBtis知识脑图(纯手绘xmind文档)

学完之后,若是想验收效果如何,其实最好的方法就是可自己去总结一下。比如我就会在学习完一个东西之后自己去手绘一份xmind文件的知识梳理大纲脑图,这样也可方便后续的复习,且都是自己的理解,相信随便瞟几眼就能迅速过完整个知识,脑补回来。下方即为我手绘的MyBtis知识脑图,由于是xmind文件,不好上传,所以小编将其以图片形式导出来传在此处,细节方面不是特别清晰。但可给感兴趣的朋友提供完整的MyBtis知识脑图原件(包括上方的面试解析xmind文档)

[外链图片转存中…(img-tYGbyQs4-1715124230670)]

除此之外,前文所提及的Alibaba珍藏版mybatis手写文档以及一本小小的MyBatis源码分析文档——《MyBatis源码分析》等等相关的学习笔记文档,也皆可分享给认可的朋友!

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

  • 24
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java实现秒杀系统@Controller @RequestMapping("seckill")//url:/模块/资源/{id}/细分 /seckill/list public class SeckillController { private final Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private SeckillService seckillService; @RequestMapping(value="/list",method = RequestMethod.GET) public String list(Model model){ //获取列表页 List list=seckillService.getSeckillList(); model.addAttribute("list",list); //list.jsp+model = ModelAndView return "list";//WEB-INF/jsp/"list".jsp } @RequestMapping(value = "/{seckillId}/detail",method = RequestMethod.GET) public String detail(@PathVariable("seckillId") Long seckillId, Model model){ if (seckillId == null){ return "redirect:/seckill/list"; } Seckill seckill = seckillService.getById(seckillId); if (seckill == null){ return "forward:/seckill/list"; } model.addAttribute("seckill",seckill); return "detail"; } //ajax json @RequestMapping(value = "/{seckillId}/exposer", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"}) @ResponseBody public SeckillResult exposer(@PathVariable("seckillId") Long seckillId){ SeckillResult result; try { Exposer exposer =seckillService.exportSeckillUrl(seckillId); result = new SeckillResult(true,exposer); } catch (Exception e) { logger.error(e.getMessage(),e); result = new SeckillResult(false,e.getMessage()); } return result; } @RequestMapping(value = "/{seckillId}/{md5}/execution", method = RequestMethod.POST, produces = {"application/json;charset=UTF-8"} ) @ResponseBody public SeckillResult execute(@PathVariable("seckillId")Long seckillId,

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值