1. interface Pet {
    2. public String getName();
    3. public String getColor();
    4. public int getAge();
    5. }
    6. class Cat implements Pet {
    7. private String name;
    8. private String color;
    9. private int age;
    10. public Cat(String name, String color, int age) {
    11. this.setName(name);
    12. this.setColor(color);
    13. this.setAge(age);
    14. }
    15. public String getName(){
    16. return this.name;
    17. }
    18. public String getColor() {
    19. return this.color;
    20. }
    21. public int getAge() {
    22. return this.age;
    23. }
    24. public void setName(String name) {
    25. this.name = name;
    26. }
    27. public void setColor(String color) {
    28. this.color = color;
    29. }
    30. public void setAge(int age) {
    31. this.age = age;
    32. }
    33. }
    34. class Dog implements Pet {
    35. private String name;
    36. private String color;
    37. private int age;
    38. public Dog(String name, String color, int age) {
    39. this.name = name;
    40. this.color = color;
    41. this.age = age;
    42. }
    43. public String getName() {
    44. return this.name;
    45. }
    46. public String getColor() {
    47. return this.color;
    48. }
    49. public int getAge() {
    50. return this.age;
    51. }
    52. public void setName(String name) {
    53. this.name = name;
    54. }
    55. public void setColor(String color) {
    56. this.color = color;
    57. }
    58. public void setAge(int age) {
    59. this.age = age;
    60. }
    61. }
    62. class PetShop {
    63. private Pet[] pets;
    64. private int foot;
    65. public PetShop(int len){
    66. if (len > 0) {
    67. this.pets = new Pet[len];
    68. }else{
    69. this.pets = new Pet[1];
    70. }
    71. }
    72. public boolean add(Pet pet) {
    73. if (this.foot < this.pets.length) {
    74. this.pets[this.foot] = pet;
    75. this.foot++;
    76. return true;
    77. }else{
    78. return false;
    79. }
    80. }
    81. public Pet[] search(String keyWord){
    82. Pet p[] = null;
    83. int count = 0;
    84. for (int i = 0; i < this.pets.length; i++) {
    85. if (this.pets[i] != null) {
    86. if (this.pets[i].getName().indexOf(keyWord) != -1 || this.pets[i].getColor().indexOf(keyWord) != -1) {
    87. count++;
    88. }
    89. }
    90. }
    91. for (int i = 0; i < this.pets.length; i++) {
    92. if (this.pets[i] != null) {
    93. if (this.pets[i].getName().indexOf(keyWord) != -1) {
    94. count++;
    95. }
    96. }
    97. }
    98. p = new Pet[count];
    99. int f = 0;
    100. for (int i = 0; i < this.pets.length; i++) {
    101. if (this.pets[i] != null){
    102. if (this.pets[i].getName().indexOf(keyWord) != -1 || this.pets[i].getColor().indexOf(keyWord) != -1) {
    103. p[f] = this.pets[i];
    104. f++;
    105. }
    106. }
    107. }
    108. return p;
    109. }
    110. }
    111. public class Mini {
    112. public static void main(String args[]) {
    113. PetShop ps = new PetShop(5);
    114. ps.add(new Cat("白猫", "白色的", 2));
    115. ps.add(new Cat("黑猫", "黑色的", 3));
    116. ps.add(new Cat("花猫", "花色的", 3));
    117. ps.add(new Dog("拉布拉多", "黄色的", 3));
    118. ps.add(new Dog("金毛", "金色的", 3));
    119. ps.add(new Dog("黄狗", "黑色的", 3));
    120. print(ps.search("黑"));
    121. }
    122. public static void print(Pet p[]) {
    123. for (int i = 0; i < p.length; i++) {
    124. if (p[i] != null) {
    125. System.out.println(p[i].getName() + "," + p[i].getColor() + "," + p[i].getAge());
    126. }
    127. }
    128. }
    129. }
    1. public class Min {
    2. public static void main(String args[]) {
    3. {
    4. int x = 30;
    5. System.out.println("普通代码块" + x);
    6. }
    7. int x = 100;
    8. System.out.println("代码块之外" + x);
    9. }
    10. }
    1. class Person{
    2. String name;
    3. int age;
    4. static String country = "A";
    5. public Person(String name, int age){
    6. this.name = name;
    7. this.age = age;
    8. }
    9. public void info(){
    10. System.out.println(" 姓名:" + this.name + " 年龄:" + this.age + " 城市:" + country);
    11. }
    12. }
    13. public class Min{
    14. public static void main(String args[]){
    15. Person per1 = new Person("张三", 30);
    16. Person per2 = new Person("李武", 18);
    17. Person per3 = new Person("王二", 12);
    18. per1.country = "B城";
    19. per1.info();
    20. per2.info();
    21. per3.info();
    22. }
    23. }
    1. class Person{
    2. String name;//属性
    3. int age;
    4. public void tell(){//方法
    5. System.out.println("姓名:" + name + ", 年龄:" + age);
    6. }
    7. }
    8. public class Main{
    9. public static void main(String args[]) {//主方法
    10. Person per = new Person(); //创建对象,必须实例化
    11. per.name = "张三"; //属性赋值
    12. per.age = 30;
    13. per.tell(); //调用方法
    14. }
    15. }
    1. class Person{
    2. private String name;
    3. private int age;
    4. public void tell(){
    5. System.out.println("姓名:" + this.getName() + ", 年龄:" + this.getAge());
    6. }
    7. public String getName(){
    8. return name;
    9. }
    10. public void setName(String n){
    11. name = n;
    12. }
    13. public int getAge(){
    14. return age;
    15. }
    16. public void setAge(int a){
    17. if(a >= 0 && a < 150){
    18. age = a;
    19. }
    20. }
    21. }
    22. public class Main{
    23. public static void main(String args[]) {
    24. Person per = new Person();
    25. per.setName("张三");
    26. per.setAge(-30);
    27. per.tell();
    28. }
    29. }
    30. //封装性

    栈内存.docx
    1.面向对象的三大特征:封装、继承、多态。
    2.类与对象的关系:类是对象的模板,对象是类的实例,类只能通过对象才可以使用。
    3.类是由属性和方法组成。
    4.对象的产生格式:类名称 对象名称 = new 类名称()。
    5.如果一个个对象没有被实例化而直接使用,则使用时会出现空指向异常。
    6.类属于引用数据类型,进行引用传递时,传递的是堆空间的使用权。
    7.类的封装性:通过private关键字进行修饰,被封装的属性不能被外部直接调用,而只能通过setter或getter方法完成。只要是属性,则必须全部被封装。
    8.构造方法可以为类中的属性初始化,构造方法与类的名称相同,无法返回值类型声明,如果在类中没有明确定义出构造方法,则会自动生成一个无参的什么都不做的构造方法,在一个类中的构造方法可以重载,但是每个类都只至少有一个构造方法。