java面向对象1
面向对象的三大特征:
1.封装(Encapsulation)对外部不可见
2.继承(Inheritance)扩展类的功能
3.多态(Polymorphism) 方法的重载 方法的多态性
对象的创建:
类名 a=new 类名()
public class MethodTest01 { public static void main(String[] args) { Person p=new Person("xiaoming",12); Person p1=new Person(); p1.age=14; p1.name="xiaozhang"; System.out.println(p.toString()); System.out.println(p1.toString()); } } class Person{ String name; int age; public Person(){ } public Person(String name, int age) { super(); 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; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } }
有一个无参构造器,一个有参构造器,分别实例化了对象并赋值。
辣鸡的产生:
某些存放在内存空间的变量值不被引用了,他们就成了辣鸡。
封装:
封装的目的就是保护,为了使某些属性和方法不被外部看到。
public class MethodTest02 { public static void main(String[] args) { Person1 p1=new Person1(); p1.setAge(12); p1.setName("xiaoming"); System.out.println(p1.toString()); } } class Person1{ private String name; private int age; public Person1() { } public Person1(String name, int age) { super(); 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; } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } }
通过set和get方法赋值和取值。另外我们可以在set方法中添加条件来限制输入的值。

一个小栗子
public class MethodTest03 { public static void main(String[] args) { Student s=new Student(); s.setMath(90); s.setYuwen(95); s.setEnglish(100); s.setName("xiaoming"); s.setNum(23); s.all_score(); s.avg(); System.out.println(s.toString()); } } class Student{ private int num; private String name; private int math; private int yuwen; private int english; private int score; private double avg; public int getNum() { return num; } public void setNum(int num) { this.num = num; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getMath() { return math; } public void setMath(int math) { this.math = math; } public int getYuwen() { return yuwen; } public void setYuwen(int yuwen) { this.yuwen = yuwen; } public int getEnglish() { return english; } public void setEnglish(int english) { this.english = english; } public void all_score() { this.score= math+yuwen+english; } public void avg() { this.avg=(math+yuwen+english)/3; } @Override public String toString() { return "Student [num=" + num + ", name=" + name + ", math=" + math + ", yuwen=" + yuwen + ", english=" + english + ", score=" + score + ", avg=" + avg + "]"; } }
浙公网安备 33010602011771号