最后
光给面试题不给答案不是我的风格。这里面的面试题也只是凤毛麟角,还有答案的话会极大的增加文章的篇幅,减少文章的可读性
Java面试宝典2021版
最常见Java面试题解析(2021最新版)
2021企业Java面试题精选
3.1为啥要用封装?
-
封装可以提高程序的安全性
-
封装可以让资源按照我们预先规定的方式来操作
3.2属性的封装
用private修饰属性,一旦属性被private修饰,就只能在本类中使用,外界无法访问
所以为了让外界能够按照我们提供的方式来调用,需要根据属性生成公共的getXxx()与setXxx()方法
3.2 方法的封装
方法的封装也是使用private来修饰方法
如果想要调用私有方法的功能,就需要在本类的公共方法里调用这个私有方法
===============================================================================
package cn.tedu.exec;
/本类用于面向对象的巩固练习1/
public class TestCar {
public static void main(String[] args) {
//4.创建对象进行测试 创建对象 属性赋值 查看属性 调用功能
Car c = new Car();
// c.brand = “BMW”;
// c.color = “暗夜黑”;
// c.price = 9.9;
// c.length = 0.1;
// System.out.println(c.brand);
// System.out.println(c.price);
// System.out.println(c.length);
// System.out.println(c.color);
c.start();
//c.stop();
//6.创建汽车类对象c2,给属性赋值并查看
Car c2 = new Car();
c2.setBrand(“特斯拉”);
c2.setColor(“五彩斑斓的黑”);
c2.setLength(3.6);
c2.setPrice(218888.88);
System.out.println(c2.getBrand());
System.out.println(c2.getColor());
System.out.println(c2.getLength());
System.out.println(c2.getPrice());
c2.start();
//c2.stop();
}
}
//1.分析汽车这一类事物的共同特点,抽象形成类Car
class Car{
//2.定义汽车类的属性:品牌brand 颜色color 价格price 车长length
//5.封装4个属性,并提供对应的get与set方法
private String brand;
private String color;
private double price;
private double length;
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
//3.1定义汽车启动的方法
public void start(){
System.out.println(“我的小车车启动啦~”);
stop();
}
//3.2定义汽车停止的方法
//7.封装停止的方法,并调用停止方法的功能
private void stop(){
System.out.println(“唉呀妈呀,熄火了~”);
}
}
===============================================================================
package cn.tedu.exec;
/本类用于面向对象综合练习案例2/
public class TestDog {
public static void main(String[] args) {
//5.1创建本类的对象1
Dog d1 = new Dog();
//给对象的属性赋值:哮天犬 999 细犬 二郎神 10000,并查看
d1.setName(“哮天犬”);
d1.setAge(999);
d1.setKind(“细犬”);
d1.setHost(“二郎神”);
d1.setPrice(10000);
System.out.println(d1.getName());
System.out.println(d1.getAge());
System.out.println(d1.getKind());
System.out.println(d1.getHost());
System.out.println(d1.getPrice());
//6.创建小狗类的对象2并调用小狗类的功能
Dog d2 = new Dog();
d2.run();
d2.eat(6);
d2.sleep(8.8);
d2.play(“二郎神”);//纯调用play()的功能
//既调用了play()的功能,又接到了返回值
String s = d2.play(“沉香”);
System.out.println(s);//打印接到的返回值
//没有定义多余的变量,直接打印方法的返回值
System.out.println(d2.play(“三圣母”));
//d2.bark();//私有方法不可以在其他类调用
}
}
//1.抽象形成一个小狗类Dog
class Dog{
//2.属性:名字name 年龄age 品种kind 主人host 价格price
//3.1封装所有的属性
private String name;
private int age;
private String kind;
private String host;
private double price;
//方法格式:修饰符 返回值类型 方法名(参数列表){方法体}
//4.1添加小狗类的功能1
//跑run:无参,无返回值,打印:小狗Dog跑的老快啦~
public void run(){
System.out.println(“小狗Dog跑的老快啦~”);
}
//4.2添加小狗类的功能2
//吃eat:参数int n,无返回值,打印:小狗Dog今晚要吃n根肉骨头
public void eat(int n){
System.out.println(“小狗Dog今晚要吃”+n+“根肉骨头”);
}
//4.3添加小狗类的功能3
//睡觉sleep:参数double num,无返回值,打印:小狗Dog今天一共睡了num个小时
public void sleep(double num){
System.out.println(“小狗Dog今天一共睡了”+num+“个小时”);
}
//4.4添加小狗类的功能4
//玩play:参数String host,返回值String"飞盘",打印:小狗与主人host玩的很开心
public String play(String host){
System.out.println(“小狗与主人”+host+“玩的很开心”);
bark();//调用封装的方法
return “飞盘”;
}
//4.5添加小狗类的功能5
//叫bark:打印:小狗喜欢汪汪叫,此方法要封装,玩的时候才叫
private void bark(){
System.out.println(“小狗喜欢汪汪叫”);
}
//3.2提供所有属性对应的get与set方法
//Alt+Insert->Getter and Setter->Ctrl+A
public String getName() {
最后
面试前一定少不了刷题,为了方便大家复习,我分享一波个人整理的面试大全宝典
- Java核心知识整理
Java核心知识
- Spring全家桶(实战系列)
- 其他电子书资料
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
其他电子书资料
[外链图片转存中…(img-zR4SBSt4-1715820864851)]
Step3:刷题
既然是要面试,那么就少不了刷题,实际上春节回家后,哪儿也去不了,我自己是刷了不少面试题的,所以在面试过程中才能够做到心中有数,基本上会清楚面试过程中会问到哪些知识点,高频题又有哪些,所以刷题是面试前期准备过程中非常重要的一点。
以下是我私藏的面试题库:
[外链图片转存中…(img-fChzwJeW-1715820864851)]