面向对象基础6

 

class Person
{
       private String name;
       private int age;
       public void setName(String name)
       {
              this.name = name;
       }
       public void setAge(int age)
       {
              this.age = age;
       }
       public String getName()
       {
              return this.name;
       }
       public int getAge()
       {
              return this.age;
       }
       public String say()
       {
              return "姓名:" + this.name + "年龄:" + this.age;
       }
}
 
class Student extends Person
{
//      private String name;
//      private int age;
       private String school;
//      public void setName(String name)
//      {
//             this.name = name;
//      }
//      public void setAge(int age)
//      {
//             this.age = age;
//      }
       public void setSchool(String school)
       {
              this.school = school;
       }
//      public String getName()
//      {
//             return this.name;
//      }
//      public int getAge()
//      {
//             return this.age;
//      }
       public String getSchool()
       {
              return this.school;
       }
       public String say()
       {
              return "姓名:" + this.getName() + ",年龄:" + this.getAge() + ",学校:" + this.getSchool();
       }
}
 
 
public class javaoo01
{
       public static void main(String arg[])
       {
              Student s = new Student();
              s.setName("张三");
              s.setAge(30);
              s.setSchool("MLDN人才培养础地");
              System.out.println(s.say());
       }
}
 
 
姓名:张三 , 年龄: 30, 学校: MLDN 人才培养础地
 
class A
{
}
class B
{
}
class C extends A,B
{
}
 
//java只支持单继承,不允许多继承
 
 
//java允许有多层继承。java允许多层继承,而不能多重继承,一个子类只能有一个父类,一个父类可以有多个子类
class A
{
}
class B extends A
{
}
class C extends B
{
}
 
子类对象实例化的过程
子类对象实例化  --- à 父类无参构造函数 ----- à 子类构造函数
 
 
 
class A
{
       public A()
       {
              System.out.println("1、public A() {}");
       }
}
 
class B extends A
{
       public B()
       {
              // 此处隐含一段码    super(); 超类
             
              System.out.println("2 pbulic B() {}");
       }
}
 
public class javaoo01
{
       public static void main(String args[])
       {
              B b = new B();
       }
}
 
 
//1 public A() {}
//2 pbulic B() {}
 
 
方法的复写
 
注:子类复写父类的方法时,被复写的方法不能比父类拥有更严格的访问权限
 
覆写; 1 、方法名称完全一样,参数也要一样,在覆写之后子类调用的永远是覆写之后的方法 2 、覆写时子类方法的权限不能比父类拥有更严格的访问权限。覆写之后的根最好与父类中保持一致()
 
class A
{
       void fun1()
       {
              System.out.println("* 1、A ---> public void fun1()");              
       }
}
 
class B extends A
{
       public void fun1()
       {
              System.out.println("* 2、B ---> public void fun1()");       
       }
}
 
 
public class javaoo01
{
       public static void main(String args[])
       {
              B b = new B();
              b.fun1();
       }
}
 
* 2 B ---> public void fun1()
 
权限:
三种: 1 public :权限最大,任何人都可以访问
              2 、默认( default ); 仅次于 public
              3 private : 权限最小,只能在一个类中访问
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
面向对象是一种编程思想,通过这种思想可以将复杂的事物简化。它基于面向过程,强调结果而不是过程。面向对象的编程中,类是将具有相似行为或属性的事物抽象或集合而成的。对象是类的具体实例,是类的模板。在Java语言中,可以通过类来描述现实世界的事物,将事物的属性作为成员变量,将行为作为成员方法。类和对象的创建与使用可以通过class关键字创建类,通过new关键字创建对象。类与对象在内存中的存储通过引用来实现。 Java面向对象基础知识还包括封装、构造方法、构造代码块、局部代码块、this关键字、继承、static关键字、多态、抽象类、接口等。封装是面向对象的三大特征之一,可以用来保护类的成员变量。构造方法用于创建对象的同时初始化对象的成员变量。构造代码块在创建对象时执行,并且在构造方法之前执行。局部代码块是在方法内部定义的代码块。this关键字指代当前对象。继承是面向对象的重要特性,可以通过父类和子类之间的关系实现代码的复用。static关键字用于修饰成员变量和成员方法,可以实现数据的共享。多态是指一个对象可以有多种形态,能够根据上下文自动选择使用哪种形态。抽象类和接口是抽象类型的具体表现,可以提高程序的复用率和可维护性。 在Java中,由于不允许多重继承,如果要实现多个类的功能,则可以通过实现多个接口来实现。面向接口和面向抽象类的编程是提高程序复用率和可维护性的重要手段。正确地使用接口和抽象类是面向对象编程的关键。 总结一下,Java面向对象基础知识包括类与对象、封装、构造方法、构造代码块、局部代码块、this关键字、继承、static关键字、多态、抽象类、接口等概念和特性。掌握这些知识可以帮助我们更好地进行面向对象的编程。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值