zoukankan      html  css  js  c++  java
  • Java小笔记1

    ---恢复内容开始---

    一.Java 封装性的使用

    1.封装性产生的目的

    保护某些属性和方法不被外界所看到

    2.封装的实现

    为属性和方法进行封装是通过private关键字进行声明的

    既然用private进行了声明,那表明外界不能对封装的属性和方法进行使用,那么如果外界想使用封装的方法和属性又该u怎么办呢?

    通过set 和 get 方法进行外部访问

    下面看一个例子(红色覆盖部分为set 和 get 方法)

    package ClassDemo1;
    
    class Person{
    	private String name;
    	private int age;
    	
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    
    	public int getAge() {
    		return age;
    	}
    
    	public void setAge(int age) {
    		if(age>0&&age<200)
    		this.age = age;
    	}
    
    
    	public void tell() {
    		System.out.println("姓名"+getName()+"  "+"年龄"+getAge());
    	}
    }
    
    
    public clas



    s ClassDemo1 { public static void main(String[] args) { // TODO Auto-generated method stub /* 创建对象*/ Person per; //声明 per=new Person(); //实例化操作、 //Person per=new Person(); 声明并实例化 per.setAge(10);// set为 设置 per.setName("小黎"); per.tell(); } }

    二.匿名对象的使用

     首先,何为匿名对象?????

    没有名字的对象那就叫它匿名对象,个人觉得匿名对象的使用很局限。只有当程序中只使用一次该对象时,我们可以使用匿名对象。

    就在上面的例子上进行修改,用代码一遍带过

    public class ClassDemo1 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
        /*      创建对象
            Person per;  //声明
            per=new Person();  //实例化操作、
            //Person per=new Person();  声明并实例化
            
            per.setAge(10);//   set为 设置
            per.setName("小黎");
            per.tell();
    */
    //        使用匿名对象
            new Person().setAge(2);
        
            new Person().tell();
        }
    
    }

    三.构造方法

    1.格式:

      访问修饰符 类名称(){

            程序语句

    }

    2.注意点

    (1)构造方法名称必须与类名相同

    (2)构造方法没返回值(切记)

    3.构造方法主要是为类中的属性初始化(即通过传递参数进行赋值)

    4.每个类在实例化之后都会调用构造方法,如果没有构造方法,程序会在编译时候创建一个无参的什么都不做的构造方法

    四.继承

    1.java中只允许单继承

    举个例子:就好像每个人只有一个亲生父亲,不能有多个亲生父亲的意思。。貌似就这么理解,但可进行多层继承(下面的红色注释部分是错误的)

    class Person{
    	int age;
    
    	public void tell() {
    		System.out.println("姓名"+getName()+"  "+"年龄"+getAge());
    	}
    }
    
    class Student extends Person{
    	public void say()
    	{
    		System.out.println(age);
    	}
    	
    }
    
    class PerStudent extends Student,Person{
    	
    	
    }
    

    五.子类对象实例化过程

    插入运行截图

    可以看到通过子类的实例化,首先调用的父类的构造方法,继而调用子类的构造方法

    六.方法的重写

    在继承中,也存在重写的概念,其实就是子类定义了和父类同名的方法,,,,下面来看看重写的定义

    1.定义

    方法名称相同 返回值类型相同 参数相同

    2.重写限制

    被子类重写的方法不能拥有比父类更加的严格访问权限。。怎么理解这句话呢???那我们先来看看几个访问权限

    private<default<public

    private 只允许在当前类中进行访问

    default 这个关键字你一定感到很陌生吧,其实我们很早就接触它了。。当我们定义一个方法前面什么都没有的时候,默认就是default,是不是很意外恒惊喜。。它的访问权限是在同一个包下

    public 允许在同一个工程下访问

    也就是说,如果父类的方法是 default 那么子类重写这个方法不能用private,因为不能拥有比父类更加严格的访问权限,但可以相同

    下面对重写和重载进行比较

    注:一个java新手记的一点Java笔记,仅供参考,如有错误请下方留言,谢谢

  • 相关阅读:
    Grunt 实现浏览器实时刷新
    Node环境搭建
    前端项目三方库管理
    Node项目包管理器
    前端开发利器
    面向对象目录
    Java 面向对象(十四)
    Java 面向对象(十三)
    Java 面向对象(十二)
    Java 面向对象(十)
  • 原文地址:https://www.cnblogs.com/lklk/p/9975499.html
Copyright © 2011-2022 走看看