值传递和应用传递
public class Demo01 {
public static void main(String[] args) {
int a = 1;
System.out.println(a); //1
change(a);
System.out.println(a); //1
System.out.println("==============");
Student student = new Student();
System.out.println(student.name); //null
change(student);
System.out.println(student.name); //jack
}
public static void change(int a) {
a = 10;
}
public static void change(Student stu) {
stu.name = "jack";
}
}
class Student {
String name;
}
类和对象的创建
public class Student {
String name;
int age;
public void say() {
System.out.println(this.name + "说hello");
}
}
public class Application {
public static void main(String[] args) {
Student jack = new Student();
Student lucy = new Student();
jack.name = "jack";
lucy.name = "lucy";
jack.say();
lucy.say();
}
}
构造器
public class Student {
String name;
int age;
/*
* 构造器
* 1.使用new关键字
* 2.初始化值
* 3.快捷键 Alt+insert
* 4.存在有参构造,想调用无参构造必须显示定义无参构造
* 5.必须和类名相同,不能有viod关键字
* */
//有参构造
public Student(String name) {
this.name = name;
}
//无参构造
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
}
Student student = new Student();
student.name = "jack";
Student lucy = new Student("lucy");
lucy.age = 20;
Student tom = new Student("tom", 18);
System.out.println(student.name + "--" + student.age);
System.out.println(lucy.name + "--" + lucy.age);
System.out.println(tom.name + "--" + tom.age);
/*
* jack--0
lucy--20
tom--18
*/
![image]()
封装
private String id;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
Student student = new Student();
student.setId("2131231");
System.out.println(student.getId());
继承
//extends关键字
//public //都可以访问
//protected //子类可以访问,其他无法访问
方法重写
public class B {
public void test() {
System.out.println("B=>test()");
}
}
public class A extends B{
@Override
public void test() {
System.out.println("A");
}
}
/*
* 方法重写
* 1.需要继承关系,子类重写父类方法
* 2.方法名必须相同
* 3.参数必须相同
* 4.修饰符可以扩大不能缩小
* 5.抛异常范围可以缩小但能不能扩大*/
多态
![image]()
instanceof
//判断对象是否属于类
A a = new A();
B b = new B();
System.out.println(b instanceof A); //false
public class C {
{
System.out.println("匿名代码块");
}
//最先执行
static {
System.out.println("静态代码块");
}
public C(){
System.out.println("构造器");
}
public static void main(String[] args) {
C c = new C();
}
}
/*
* 静态代码块
匿名代码块
构造器*/
接口
![image]()
public interface UserService {
void add(String name);
void del(int id);
void update(int id, String name);
void query(int id);
}
public class UserServiceImpl implements UserService {
@Override
public void add(String name) {
}
@Override
public void del(int id) {
}
@Override
public void update(int id, String name) {
}
@Override
public void query(int id) {
}
}