最小作用域最强原则:
局部变量的作用要比全局变量作用强
this
this 指代本类对象
可以调用 属性 方法 和 构造方法
调用构造方法 this() 要求必须放在构造方法的第一行
使用this() 调用哪个根据携带参数类型 个数 顺序
this()调用构造方法的目的 : 简化代码
class Person{
String name ;
public Person(String name){
this();// 调用无参数的构造方法 必须在构造方法的第一行
this.name = name;
this.test();
}
public Person(){
//this(name,age);
}
public Person(Stirng name,int age){
this(name);
this.age = age;
}
public void test(){
}
// 通过调用this()调用构造方法 能够简化代码
}
用一个类作为另外一个类的属性
作为属性在类中写的时候跟其他基本数据类型的属性格式相同
class Person
{
String name ;
Book book;
public Person(String name,Book book){
this.name = name;
this.book = book;
}
}
// 给类类型属性赋值
Person p = new Person();
p.name = "fsaf";
// p 对象 想给 book 属性赋值
Book book ;
//= new Book();
p.book = book;
p.book.name = "红楼梦";
p.book.price = 10;
Person p2 = new Person("曹雪芹",book);
// 空指针异常 没有初始化对象,就去调用 ,
//
方法的参数传递
基本数据类型传递的是数值
引用数据类型传递的是 地址
特例: String
常量池的存储方式;
存储字符串时首先去常量池中查找相同的字符串,如果找到则不去重新开辟空间
如果找不到 则开辟新的空间
public void test(String str){str = str1;
str = "aaa";
}
String str1 = "bbbb";
test(str1);
面向对象的三大特征 封装 继承 多态
封装: 目的 提高代码的 安全性
关键字 private 私有的 可以修饰 属性或者方法 只有本类可以调用到
用private将属性私有化,并且提供对外访问的接口
局部变量的作用要比全局变量作用强
this
this 指代本类对象
可以调用 属性 方法 和 构造方法
调用构造方法 this() 要求必须放在构造方法的第一行
使用this() 调用哪个根据携带参数类型 个数 顺序
this()调用构造方法的目的 : 简化代码
class Person{
String name ;
public Person(String name){
this();// 调用无参数的构造方法 必须在构造方法的第一行
this.name = name;
this.test();
}
public Person(){
//this(name,age);
}
public Person(Stirng name,int age){
this(name);
this.age = age;
}
public void test(){
}
// 通过调用this()调用构造方法 能够简化代码
}
用一个类作为另外一个类的属性
作为属性在类中写的时候跟其他基本数据类型的属性格式相同
class Person
{
String name ;
Book book;
public Person(String name,Book book){
this.name = name;
this.book = book;
}
}
// 给类类型属性赋值
Person p = new Person();
p.name = "fsaf";
// p 对象 想给 book 属性赋值
Book book ;
//= new Book();
p.book = book;
p.book.name = "红楼梦";
p.book.price = 10;
Person p2 = new Person("曹雪芹",book);
// 空指针异常 没有初始化对象,就去调用 ,
//
方法的参数传递
基本数据类型传递的是数值
引用数据类型传递的是 地址
特例: String
常量池的存储方式;
存储字符串时首先去常量池中查找相同的字符串,如果找到则不去重新开辟空间
如果找不到 则开辟新的空间
public void test(String str){str = str1;
str = "aaa";
}
String str1 = "bbbb";
test(str1);
面向对象的三大特征 封装 继承 多态
封装: 目的 提高代码的 安全性
关键字 private 私有的 可以修饰 属性或者方法 只有本类可以调用到
用private将属性私有化,并且提供对外访问的接口