Scanner类中nextLine()和next()
nextInt()
nextLine()会接收前一个的回车符作为输入
技术是为了解决问题而产生的
在公司去上班,技术不会给你解决某一个业务,只会给你解决木某一个问题,比如redis
面向对象基础
1.类和对象
1.1面向对象和面向过程的介绍
面向过程语言
面向对象语言(c++和java)
拿来主义:面向对象不是一项具体的技术,而是指导我们编程的一种思想,思想的核心是拿来主义
当我们面对一个问题的时候,我们需要去找解决这个问题的工具
找工具,解决问题的路上,如果没有这种工具,就需要我们自己设计出来
思考:面向对象是什么???
是一种指导我们编程的思想,核心是拿来主义
本质上就是说当我们面对一个问题的时候,我们需要去找解决这个问题的工具(类),如果没有就需要我们自己设计出来。
自我理解:抽离出同一类事物相同的特征和行为方式的思维方式
比如男人、女人都是人
1.2 类和对象的介绍
类里面有什么
- 成员变量、方法
属性:所具有的特征
行为:类的行为
对象是类的具体化
老师叫小明去扫地,而不是叫人类去扫地
自己设计好的类,都是有具体的实例去实现的(理解,类就是对一类相似的对象的抽象)
设计类的过程:
语法:
作用域 修饰符 类名{
/**
**类体
**/
}
public class Studay{
System.out.pritnln("我爱学习!")
}
定义类的注意事项:
1.取名的时候见名知其意
2.类的首字母大写
3.类的作用域、修饰符用哪个?
该类抽象了那些属性和行为方法
对象的创建于使用
2.成员变量和局部变量
3.作用域和修饰符
同一类中 | 子类 | 不同类 | |
---|---|---|---|
public | √ | √ | √ |
Default() | √ | √ | √ |
protected | √ | √ | × |
private | √ | × | × |
- 注意
Default是默认修饰符,不写修饰符java就默认为Default
类只能用public、Default、abstract、final修饰
4.this关键字
this代表所在对象的引用
有什么用?
区分全局变量与局部变量
就近原则
现在不行用局部,就想用全局---->this(区分全局与局部)
public class Student {
int ID; //学生学号,全局变量
String name;
public int getID() {
return ID;
}
public void setID(int ID) {
this.ID = ID; //传入过来的形参也叫ID,想要使用全局变量ID,就用this.ID,这样就可以改变全局变量的值
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
5.构造方法
与类同名的方法就叫做构造方法
特征:与类名相同
不需要有返回值
语法:
public class Student {
int ID;
String name;
public Student() {
}
public Student(int ID, String name) {
this.ID = ID;
this.name = name;
}
}
注意事项:
(1)构造方法的创建
如果没有定义构造方法,系统将给出一个默认的构造方法
如果定义了构造方法,系统将不再提供默认的构造方法
(2)构造方法的重载
- 如果定义了带参构造方法,还要使用无参数构造方法,就必须在写一个无参数构造方法
(3)推荐使用方式
- 无论是否使用,都手动书写无参数构造方法,和带参数构造方法