类与对象的创建
类与对象的关系
类是对象的概括,对象是类的具体体现
根据一类对象进行概括,将对象的特征概括为属性,将对象的行为概括为方法,将这一类对象用一个类表示 — 类是对象的概括/抽取
通过new关键字来创建这个对象,然后可以给对象中的属性赋值,也可以调用方法
类与对象的创建
类是对象的模板
对象是类的具体
new关键字:使用new关键字创建具体对象,除了会创建一个具体的对象,还会同时对该对象完成初始化;
Student xiaoming=new Student();
Student类是一个类,xiaoming是以Student类创造的一个具体实例,一个对象,new会在内存空间中为xiaoming分配空间,并完成xiaoming的初始化
回顾方法的调用和定义
方法是人所写的,方便人们简化运算的工具
package oop;
//Op01类
public class Op01 {
//main方法
public static void main(String[] args) {
}
/*
修饰符 返回值类型 方法名(...){
return 返回值;
}
*/
public String sayhello(){
return "hello,world";
}
public int max(int a,int b){
if (a > b){
return a;
}
else
return b;
//return a > b ? a : b; 三元运算符
}
}
java数据库里有很多的方法 ,都可以对应调用
值传递与引用传递
值传递: 只要是基本类型传递 都是值传递
package oop;
public class Op02 {
public static void main(String[] args) {
int a = 1;
System.out.println(a);// a = 1
//输出完代码后,执行 所创建的方法
Op02.change(a);// a = 10 类名加方法名 = 调用方法 (非静态方法)
//看看三个a有什么不同
System.out.println(a);// a = 1
}
//值传递
public static void change(int a){
a = 10;
System.out.println(a);
}
}
引用传递:针对于基本类型进行封装,对封装进行传递,是引用传递
package oop;
public class Op04 {
//引用传递:对象,本质还是值传递
//对象 内存!
public static void main(String[] args) {
Person person = new Person();
System.out.println(person.name);//null
Op04.change(person);
System.out.println(person.name);//孙志豪
}
public static void change(Person person){
//person 是一个对象:指向的--->Person person = new Person();
person.name = "孙志豪";
}
}
class Person{
String name;//null
}
一个随手写着玩玩的冒泡排序。
package oop;
import java.util.Arrays;
public class Op03 {
//引用传递: 对象 ,本质还是传递
public static void main(String[] args) {
int[] b = {1,2,45,6,7,9,6,1,9894};
int[] ints = change01(b); //new一个对象 ctrl + alt + v
System.out.println(Arrays.toString(b));
}
//整个冒泡循环
public static int[] change01(int[] b){
int temp = 0;
for (int i = 0; i < b.length-1; i++) {
for (int j = 0; j < b.length-1-i; j++) {
if (b[j] > b[j+1]){
temp = b[j+1];
b[j+1] = b[j];
b[j] = temp;
}
}
}
return b;
}
}
= b[j+1];
b[j+1] = b[j];
b[j] = temp;
}
}
}
return b;
}
}