zoukankan      html  css  js  c++  java
  • Java基础_0303:封装性初步

    class Book { 			// 定义一个新的类
    	private String title; 		// 书的名字
    	private double price; 		// 书的价格
    	public void getInfo() { 			// 此方法将由对象调用
    		System.out.println("图书名称:" + title + ",价格:" + price);
    	}
    } 
    public class TestDemo {
    	public static void main(String args[]) {
    		Book book = new Book();		// 声明并实例化对象
    		book.title = "Java开发";		// 设置属性内容
    		book.price = -89.9;			// 设置属性内容
    		book.getInfo();			// 调用方法
    	}
    }
    
    程序编译结果:
    TestDemo.java:12: 错误: title可以在Book中访问private
                    book.title = "Java开发";                // 设置属性内容
                        ^
    TestDemo.java:13: 错误: price可以在Book中访问private
                    book.price = -89.9;                     // 设置属性内容
                        ^
    2 个错误
    
    

    封装使用

    在开发之中,针对于属性有这样一种定义:所有在类中定义的属性都要求使用private声明,如果属性需要被外部所使用,那么按照要求定义相应的setter、getter方法,以String title为例。

    • setter方法主要是设置内容,public void setTitle(String t),有参;
    • getter方法主要是取得属性内容:public String getTitle()。无参
    package com.xusan;
    
    class Book { 					// 定义一个新的类
    	private String title; 		// 书的名字
    	private double price; 		// 书的价格
    	/**
    	 * 设置或修改title属性内容
    	 * @param t 接收要设置的数据
    	 */
    	public void setTitle(String t) {	// 设置title属性内容
    		title = t;
    	}
    	/**
    	 * 设置或修改price属性内容
    	 * @param p 接收要设置的数据
    	 */
    	public void setPrice(double p) {	// 设置price属性内容
    		if (p > 0.0) {		// 进行数据验证
    			price = p ;
    		}
    	}
    	/**
    	 * 取得title属性内容
    	 * @return title属性数据
    	 */
    	public String getTitle() {	// 取得title属性内容
    		return title;
    	}
    	/**
    	 * 取得price属性内容
    	 * @return price属性数据
    	 */
    	public double getPrice() {	// 取得price属性内容
    		return price;
    	}
    	/**
    	 * 输出对象完整信息
    	 */
    	public void getInfo() { 				// 此方法将由对象调用
    		System.out.println("图书名称:" + title + ",价格:" + price);
    	}
    } 
    public class TestDemo {
    	public static void main(String args[]) {
    		Book book = new Book();		// 声明并实例化对象
    		book.setTitle("Java开发");		// 设置属性内容
    		book.setPrice(-89.9);			// 设置属性内容
    		book.getInfo();			// 调用方法
    	}
    }
    
    程序执行结果:
    图书名称:Java开发,价格:0.0
    
    
  • 相关阅读:
    设置页面标题title
    路由跳转,页面位置不在顶部
    PyTorch深度学习入门
    删除ubuntu后开机进入grub的解决办法
    研一上英语
    python中常用的几个函数的正确用法-lambda/filter/map/reduce
    【Python教程】 re 模块中findall() 函数返回值展现方式的用法详解
    【Python教程】5种常见字符串去除空格的操作方法
    对python中浅拷贝和深拷贝分析详细介绍
    Git使用
  • 原文地址:https://www.cnblogs.com/xuwei1/p/8339823.html
Copyright © 2011-2022 走看看