目录
1、继承
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
2、定义类
3、规则
package 面相对象;
public class girlfriend{
//属性 只定义,不赋值
String name ;
int age;
double height;
String gender;
String name2;
//行为
public void sleep (){
System.out.println("我老婆在睡觉呢!");
}
public void playgame(){
System.out.println("我老婆在玩游戏!");
}
public void name(){
System.out.println("我老婆名字是xh!");
}
public void name2(){
System.out.println("我老婆名字是真白!");
}
}
package 面相对象;
public class girltest {
public static void main(String[] args) {
//创建女朋友这一对象
girlfriend gf1 = new girlfriend();
gf1.name = "晓红";
gf1.age = 18;
gf1.gender = "萌妹子";
System.out.println(gf1.name);
System.out.println(gf1.age);
System.out.println(gf1.gender);
//动作
gf1.playgame();
gf1.sleep();
gf1.name();
//创建第二个女朋友对象
girlfriend gf2 = new girlfriend();
gf2.name = "真白";
gf2.age = 18;
gf2.gender = "萌妹子";
System.out.println(gf2.name);
System.out.println(gf2.age);
System.out.println(gf2.gender);
//动作
gf2.name2();
gf2.playgame();
gf2.sleep();
}
}
4、封装
5、private
private 私有关键字
package 面相对象;
public class girlfriend {
//属性 只定义,不赋值
private String name;
private int age;
private String gender;
private String name2;
//针对每一个私有化成员变量。都要提供get和set方法
//set方法:给成员变量赋值
//get方法:对外提供成员变量的值
//作用:给成员变量name赋值
public void setName(String n) {
name = n;
}
//作用:对外提供name属性
public String getName() {
return name;
}
//作用:给成员变量name2赋值
public void setName2(String n2) {
name2 = n2;
}
//作用:对外提供name2属性
public String getName2() {
return name2;
}
//age
//steAge:给成员变量age进行赋值
//getAge:对外提供成员变量age的值
public void setAge(int a) {
if (a >= 18 && a <= 20) {
age = a;
} else {
System.out.println("不对哦!");
}
}
public int getAge() {
return age;
}
//gender
public void setGender(String s) {
gender = s;
}
public String getGender() {
return gender;
}
//行为
public void sleep() {
System.out.println("我老婆在睡觉呢!");
}
public void playgame() {
System.out.println("我老婆在玩游戏!");
}
public void name() {
System.out.println("我老婆名字是xh!");
}
public void name2() {
System.out.println("我老婆名字是真白!");
}
}
package 面相对象;
public class girltest {
public static void main(String[] args) {
//创建女朋友这一对象
girlfriend gf1 = new girlfriend();
//使用set方法赋值
gf1.setName("大白");
gf1.setAge(-18);
gf1.setGender("女");
//使用get方法获取
String name = gf1.getName();
System.out.println(name);
System.out.println(gf1.getAge());
System.out.println(gf1.getGender());
//动作
gf1.playgame();
gf1.sleep();
gf1.name();
//
// //创建第二个女朋友对象
// girlfriend gf2 = new girlfriend();
// gf2.name = "真白";
// gf2.age = 18;
// gf2.gender = "萌妹子";
//
// System.out.println(gf2.name);
// System.out.println(gf2.age);
// System.out.println(gf2.gender);
//
//
// //动作
// gf2.name2();
// gf2.playgame();
// gf2.sleep();
}
}
6、this 就近原则
package 面相对象;
public class Test4_1 {
//属性
private int age;
public void method() {
int age = 10;
System.out.println(age); //当不加this时,代码会调用离自己最近的变量(局部变量) //最后结果就是10
System.out.println(this.age); //当加上this时,代码就会调用成员变量(age) //最后结果就是0
}
}
package 面相对象;
public class Test4_2 {
public static void main(String[] args) {
Test4_1 gf1 = new Test4_1();
gf1.method();
}
}
7、构造方法
package 面相对象;
public class Student {
//定义属性
private String name;
private int age;
//定义方法
// public Student(){
// System.out.println("看看我执行了吗?");
// }
public Student(String name,int age){
this.name = name;
this.age = age;
}
public String getName(){
return name;
}
public void setName(String name){
this.name=name;
}
public int getAge(){
return age;
}
public void setAge(int age){
this.age = age;
}
}
package 面相对象;
import javax.naming.Name;
public class StudentTest {
public static void main(String[] args) {
//创建对象
//当使用无参构造时,系统默认创建一个无参构造的方法。
//Student s = new Student();
Student ss = new Student("xiaohong",18);
System.out.println(ss.getName());
System.out.println(ss.getAge());
}
}
8、标准的JavaBean
package 面向对象_2;
public class User {
//属性
private String username;
private String password;
private String email;
private String gender;
private int age;
//空参构造
public User(){}
//全参构造
public User(String username,String password,String email,String gender,int age){
this.username = username;
this.password = password;
this.email = email;
this.gender = gender;
this.age = age;
}
//get和set方法
//10个
public void setUsername(String username){
this.username = username;
}
public String getUsername(){
return username;
}
public void setPassword(String password){
this.password = password;
}
public String getPassword(){
return password;
}
public void setEmail(String email){
this.email = email;
}
public String getEmail(){
return email;
}
public void setGender(String gender){
this.gender = gender;
}
public String getGender(){
return gender;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
//快捷键:alt+Fn+insert //使用ptg进行生成javabean
}