面向对象和面向过程的主要区别是,面向对象是指挥对象去做过程。比如需要打一个小时代码这件事,面向对象就是指让对象A打一个小时代码,A需要去面对打代码这个过程。而如果自己去打一个小时代码,自己就是对象,去面对打一个小时代码这个过程。
尝试使用了xmind工具来整理概念性的学习内容。
复习了一维数组的应用。
1:this关键字代表什么?
Java中规定,在书写一个标准类的时候,为了防止成员变量名称和局部变量名称一致,提供了一个关键字
2:static关键字是什么?有什么特点?什么时候用呢?
针对多个对象共有一个成员变量,Java提供的关键字
特点:1)随着类的加载而加载
想一想:main() ---->public static void main(String[] args){}
2)static修饰的变量/方法,优先与对象存在!
回想:对比Student s = new Student(); 完成了哪些事情
3)被static修饰的具有共享,共用(多个对象共同访问同一个static修饰的成员变量)
什么时候去使用static关键字...
举例:类似的这些,都是用static修饰
班级编号(共享)
饮水机 (共享)
水杯(不能被共享的)
4)被static修饰的变量或者成员方法,可以直接被类名调用 (使用API,很多成员方法都是static修饰)
3:main方法各种修饰符及参数的解释?
public static void main(String[] args): jvm识别的程序的入口
public :权限修饰符,公共的,公开的,保证访问权限足够大
static:静态修饰,和类有关系,优先对象存在
void:由jvm调用,没有具体的返回值类型 ,使用void代替
main:方法名, 编程语言,大部分都是有一个程序的入口,Java叫main(主方法)
String[] args: 接收字符串数组,参数名args,
4:使用Jdk提供的帮助文档学习下Math类中的random()方法
使用Math类的这个方法获取1-100之间的随机数(直接使用random()方法完成即可!)
5.成员方法的分类有哪些?
根据返回值类型分为具有明确返回值方法与返回值为void类型的方法
根据形式参数分为无参方法和有参方法
6.公司有很多个员工,员工都有姓名,年龄,工号这些属性,他们都有coding()敲代码的功能,请使用面向对象方式定义
对应的员工类并且进行测试(标准类书写规则class Test00{
public static void main(String[] args){
Staff s = new Staff();
s.name = “高圆圆”;
s.age = 20 ;
s.idnum = 7788;
s.coding();
System.out.println(s.name+"–"+s.age+"—"+s.idnum);
Staff s2 = new Staff();
System.out.println(“高圆圆”+"—"+20+7788);
s2.coding();
}
}
class Staff{
String name;
int age;
int idnum;
public void coding(){
System.out.println(“敲代码”);
}
public Staff(){};
public Staff(String name, int age , int idnum){
}
})
7.什么是构造方法? 构造方法的作用是什么,请使用代码进行举例?
构造方法:(属于一个类的成员)
1)没有具体的返回值类型
2)连void都没有
3)方法名和类名相同
作用:就是给当前类进行数据初始化!
8.下面那哪些情况属于方法重载(c)?
A:方法名相同,参数类型与个数不同
B:方法参数类型相同
C:方法参数个数相同
D:方法返回值类型相同
E:方法名相同,方法参数类型与个数也相同
9.下列代码输出的结果是(c)
public class Main{
public static void main(String[] args){
int n = 100 ;
int m = 200 ;
System.out.println(f(n,m)) ;
System.out.println(n) ;
}
public static int f(int m,int n){
n = m + n ;
return n ;
}
}
A.300
300
B.100
100
C.300
100
D.100
300
10.自定义数组,将数组进行冒泡排序,并打印
class Test00{
public static void main(String[] args){
int[] arr ={78,45,96,35,65,47,95};
System.out.println(“排序后”);
bubbleSort(arr);
printArray(arr);
}
public static void bubbleSort(int[] arr){
for(int x = 0;x<arr.length-1;x++){
for(int y = 0; x<arr.length-1-x;y++){
if(arr[y]>arr[y+1]){
int temp = arr[y];
arr[y] =arr[y+1];
arr[y+1]=temp;
}
}
}
}
public static void printArray(int[] arr){
System.out.print("[");
for(int x = 0;x<arr.length;x++){
if(x == arr.length-1){
System.out.println(arr[x]+"]");
}else{
System.out.print(arr[x]+",");
}
}
}
}